티스토리 뷰
728x90
반응형
네트워크란?
- Net + Work => 그물처럼 연결된 통신 이용형태를 의미 | 두 대 이상의 컴퓨터들을 연결하고 서로 통신할 수 있는 것
- 분산되어 있는 노드들이 정보 공유할 수 있게 통신망으로 연결한 것을 의미
네트워크 구성 단위 이해
- 지리적 영역과 컴퓨터 수로 구분시 PAN < LAN < MAN < WAN이 존재
- PAN(Personal Area Network) : 개인의 작업공간을 중심으로 장치들을 서로 연결하기 위한 컴퓨터 네트워크
- LAN(Local Area Network) : 가까운 구역인 사무실, 건물, 학교 등을 묶는 네트워크 | 소규모 구역을 나누고 있고, 같은 IP 대역으로 구성
- 다른 이름 : Ehernet Network | Wi-Fi Network | Broadcast Domain | Switched Network
- MAN(Metropolitan Area Network) : 대도시, 캠퍼스에 퍼져있는 컴퓨터 네트워크 | 대도시 통신망으로, LAN보다 크고 WAN보다 작음
- WAN(Wide Area Network) : 국가 전체, 대륙과 같은 큰 지리적 영역에서 사용 | 시스템, 전화회선 등의 공동 통신 사업자를 사용
- 인터넷 : 여러 통신망을 하나로 연결한다는 의미 | 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망 | TCP/IP를 사용해 연결
- WWW(World Wide Web) : 인터넷에서 HTTP 프로토콜 사용해 HTML형식 등을 이용해 그림, 문자 등을 교환하는 전송 방식 | 인터넷에서 동작하는 하나의 서비스일 뿐 인터넷은 X
계층의 필요성
- 필요한 기능 중 유사 기능을 묶어 수직 계층으로 분할(표현 → 물리 → 전송매체)
- 다른 시스템의 동일 계층 간에는 수평적인 기능을 가짐
- 각 계층은 서로 독립적으로 작동
네트워크 모델의 종류
- OSI 7 Layer : ISO에서 개발한 표준화된 네트워크 구조 모델 | 이기종간 연결 가능케 해주는 표준 | 7개 계층으로 존재
- TCP/IP : 패킷 통신 방식의 인터넷 프로토콜인 IP + 전송 프로토콜인 TCP로 구성 | 인터넷에서 사용되는 애플리케이션은 TCP/IP 위에서 동작
캡슐화&역캡슐화
- 캡슐화(Encapsulation) : 송신 측에서 데이터를 보낼 때 데이터의 앞부분에 본인 계층의 정보(헤더)를 붙여 다음 계층으로 전송하는 것
- 역캡슐화(Decapsulation) : 수신 측에서 자기 계층에 해당하는 헤더를 읽고 해석하는 것
- 장점 : 다른 모듈에 미치는 영향이 최소화 | 각 계층에 맞는 헤더만 해석되기에 목적에 부합하는 기능만 수행 | 네트워크 동일 계층간 호환성 유지
1계층 : 물리계층(Physical Layer)
- 시스템 간 물리적 연결을 위한 계층 | 전기 신호로 변환된 데이터들을 전송매체를 이용해 전달
- 전송 매체 : [유선] 광케이블, 트위스트 페어 케이블, 동축 케이블 | [무선] 라디오파, 마이크로파, 적외선
- 장비 : 리피터 - 전송 중 약해진 신호를 다시 정상화 시키는 장비 | 더미 허브(멀티포트리피터) - 여러개 포트를 갖고 있고, 여러 대의 컴퓨터끼리 송수신 할 수 있도록 해주는 장비... 신호를 증폭시켜주는 리피터 역할을 하며, 대상을 지정할 수 없어 모든 포트에 브로드캐스트 패킷 전송
2계층 : 데이터 링크(Data Link)
- MAC 주소를 사용해 통신 | Point to Point 간 데이터 전송을 담당해 흐름&오류 제어 기능 존재(MAC 주소를 통해 LAN 속 장치 간 신뢰성 있는 정보 전송)
- MAC(Media Access Control Address) : 데이터 링크 계층에서 통신을 위한 NIC에 할당된 고유 식별자 | 16진수 표현, 총 6byte(48bit) 구성 | 상위 3bit - 제조업체식별코드 OUI | 하위 3bit - 고유번호 부여 위한 시리얼 넘버
- 이더넷(Ethernet) : MAC 주소를 통해 식별하는 유선 네트워크 구성 방식 | LAN에서 적용되는 규칙으로 스위치 같은 장비에 연결된 장비들의 데이터 통신을 위해 사용 | CSMA/CD 방식 이용
- CSMA/CD(Carrier Sense Multiple Access with Collision Detection) : 신호 감지 | 다중 접근 | 충돌 방지
- Ethernet Frmae : 이더넷 네트워크를 통해 전송되는 데이터 단위 | 헤더, 데이터(페이로드), 트레일러)로 구성
- Preamble : 물리계층에서 전송된 비트패턴 | 송신자&수신자 동기 맞추는데 사용 | 7byte, 항상 101010...으로 설정
- SFD(Start of Frame Delimiter) : 1byte 형태의 물리계층이 끝나고 프레임 헤더를 알려주는 신호역할 | 항상 101010이며 마지막 두 필드 11에 의해 프레임 시작 알림
- => 패킷 캡쳐시 Preamble, SFD는 캡쳐되지 않음
- Destination Address : 프레임이 전송되는 대상 장치의 MAC 주소 | 6byte | ex. AA:AA:AA:BB:BB:BB
- Source Address : 프레임을 내보내는 장치의 MAC 주소 | 6byte | ex. CC:CC:CC:DD:DD:DD
- Ethernet Type : 상위 계층의 프로토콜 코드 값 | 3계층에서 어떤 통신을 할지 결정 | 2byte | IP : 0x0800, ARP : 0x0806
- Data/Payload : 상위 계층에서 내려온 데이터 | 7계층 ~ 3계층의 캡슐화된 데이터 | 46~1500byte
- FCS(CRC) : Frame Check Sequence | Cycilc Redundancy Check
- 데이터 링크 계층 장비
- 스위치 : LAN에 위치한 장치 연결시 사용 | L2스위치라고도 불림 | MAC 주소 저장 가능 | 스위칭 기능 존재 | 패킷 전달시 Preamble 제외한 상위 6byte(Destination MAC Address)만 읽고 전송
- ARP(Address Resolution Protocol) :주소 결정 프로토콜... 해당 IP에 맞는 맥 주소를 가지고 오는 프로토콜
- Hardware Type : 2계층 네트워크 유형 정의 | 이더넷의 경우 0x0001로 설정
- Protocol Type : 3계층 프로토콜 정의 | IPv4의 경우 0x800
- HW addr length : MAC주소 길이 정의 | 이더넷의 경우 6byte
- Protocol addr length : 3계층 프로토콜 길이 정의 | IPv4의 경우 4byte로 설정
- Operation : 패킷 유형 | ARP요청의 경우 1, 응답은 2를 설정
- Sender HW Address : 발신자의 MAC 주소 설정
- Sender IP Add : 발신자 IP 주소 설정
- Target HW Add : 목적지 MAC 주소 설정
- Target IP Add : 목적지 IP 주소 설정
3계층 : 네트워크(Network)
- 여러 개 노드를 거칠 때마다 경로를 찾아주는 역할 | 네트워크 대역 간 신뢰성 있는 정보 전송 | 라우팅, 흐름제어, 오류제어 등 수행
- IP(Internet Protocol) : 네트워크 계층에서 사용되는 프로토콜 | 장치간 데이터 패킷 전송, 라우팅하는데 사용| 인터넷으로 사용되는 기본 프로토콜 | 논리주소인 IP주소 부여 | 전송단위 : Packet or Datagram | IPv4, IPv6
- Version : 인터넷 프로토콜 버전을 나타내는 4bit크기의 필드 | IPv4, IPv6 존재
- IHL(Internet Geader Length) : IP헤더 길이를 나타내는 4bit크기 필드 | 보통은 20byte, Option필드에 따라 변동 | Word 단위로 헤디 길이 표시(1word = 4byte)
- TOS(Type Of Service) : 서비스의 우서 순의 제공하는 1byte 크기의 필드 | 우선순위, 전달지연, 처리량, 신뢰성 설정 가능
- Total Length : IP헤더 + 실제 데이터 크기를 나타내는 2byte 필드
- Identification : 보내려는 데이터에 단편화가 일어났을 때, 단편화된 패킷을 구분하기 위한 일련번호 | 단편화 발생시 조각을 다시 결합하기 위해 사용| 2byte
- 단편화 : IP헤더와 Identification과 IP Flag, Fragment Offset을 이용해 패킷을 나눠 보내는 작업
- Flags : 단편화에 대한 정보를 알려주기 위해 사용되는 3bit 필드
- 첫번째 비트(x) : 예비로 사용되며, 항상 0으로 세팅
- D(DF) : 1 - 패킷이 목적지까지의 경로를 따라 라우터에 의해 단편화 되지 않아야 함
- M(MF) : 0 - 마지막 단편화 데이터 | 1 - 단편화 데이터가 더 있음을 의미
- Fragmentation Offset : 8byte 단위로 표시, 단편화가 이뤄지기 전 위치를 나타내는 13bit 필드
- TTL(Time To Live) : 패킷이 살아있는 시간 지정하는 1byte 크기의 필드 | 시간은 몇 개의 라우터를 이동할 수 있는지에 대한 값 | 라우터를 지날 때마다 1씩 감소
- Protocol Identifier : 상위 계층 프로토콜을 의미하는 1byte 크기 필드 | ICMP(1), IGMP(2), TCP(3), UDP(17)
- Header Checksum : IP 헤더 내용이 바르게 교환되고 있는가 점검 | 2byte
- Source address : 발신지의 IP주소로 4byte크기의 필드
- Destination Address : 수신지의 IP주소 4byte 크기의 필드
- Options : TOS필드처럼 특별한 처리 옵션을 정의 가능 | 보안기능, QoS, 라우팅
- Data(Payload) : 상위 계층의 데이터에 따라 최대 65535byte의 크기 | 일반적으로 MTU크기(최대전송단위)까지 가능
- 단편화(Fragmnet) : 큰 패킷을 나눠 보내는 작업 | IP헤더의 Identification, IP Flags, Fragment offset을 이용
- MTU 확인 : netsh interface ipv4 interfaces 명령을 통해 확인 가능
- IP 주소 : v4 - 8bit 4개, 4byte로 구성 | v6 - 16bit 8개, 16byte로 구성
- IPv4 주소 : 2^32개 표현 가능 | 4byte, 32bit로 표현시 11000000101010000000000001100100
- Dot-Decimal notatino : 점으로 표기한 10진수 표기법 | aaa.bbb.ccc.ddd
- 비틀열 아이피를 8bit씩 온점을 사용해 4그룹으로 나눔 -> 점으록 구분한 각각의 옥텟을 십진수로 변환
- 네트워크부와 호스트부
- IP주소는 어떤 네트워크의 호스트를 식별하는 주소
- IP클래스 : 과거 각각의 네트워크 대역에 Class라는 개념을 도입해 목적, 상황에 따라 분류 | A ~ D Class
- 특수 목적을 위한 IP주소 : 호스트ID가 전부 0 또는 1로 채워진 IP는 사용 X
- 전부 0 : 네트워크 주소 의미... 해당 네트워크를 대표하는 주소의 의미
- 전부 1 : 브로드캐스트 주소... 전체 네트워크에 데이터 전송 시 사용
- 라우팅 : 네트워크에서 통신 데이터를 보낼 때 최적의 경로 선택 | 출발지 ~ 최종 목적지까지 논리적으로 주소가 부여된 패킷의 전달 과정
- 네트워크 계층 프로토콜
- ICMP : IP에 대한 오류 제어 메시지 제공하는 프로토콜
- OSPF : 라우팅 프로토콜... 네트워크의 장치를 최상의 경로로 라우팅하기 위해 사용되고, 대규모 네트워크에서 사용
- BGP : 라우팅 프로토콜... 네트워크의 장치를 최상의 경로로 라우팅하기 위해 사용, 인터넷 서비스 공급자(ISP) 네트워크에서 자주 사용
4계층 : 전송계층(Transport Layer)
- 데이터가 도착했는지 확인 | 데이터가 최종적으로 도찰할 애플리케이션이 뭔지 식별 | 목적지에 따라 두가지 통신 방법 존재(신뢰성&정확성, 효율성) | TCP, UDP 존재
- TCP (Transmission Control Protocol) : 전송 제어 프로토콜 | 전송 계층에서 신뢰할 수 있고 정확한 통신 제공하는 연결형 통신 프로토콜 | 세그먼트 단위 사용
- Source Port : 송신자 포트 번호
- Destination Port : 목적지 포트 번호
- Sequence Number : 송신측에서 수신측에 이 데이터가 몇 번째 데이터인지 알려줌 | 해당 번호를 통해 수신측은 원래 데이터의 몇번째 데이터를 받았는지 알 수 있음
- Acknowledgment Number : 수신측이 몇번째 데이터를 수신했는지 송신측에 알림 | 받은 데이터의 다음 번호의 데이터를 요청하는데 사용
- Offset : TCP 헤더 크기 나타앰 | 데이터 시작 위치
- Reserved : 차후 사용을 위해 예약된 필드 | 항상 0으로 설정
- TCP Flag : 세그먼트 용도와 내용 결정 | 총 8비트 구성, 각각의 비트가 연결 제어 정보가 기록 | TCP Connectino(Session)을 맺게 됨
- Windows : 한번에 전송할 수 있는 데이터 양 | 65535만큼 값 표현 가능, Byte 단위 사용 | 65535byte = 64KB
- Checksum : 오류 검출하는 값
- Urgent Pointer : 긴급 포인터 | URG 플래그가 1이면 수신측은 이 포인터가 가리키고 있는 데이터를 우선 처리
- TCP Options : 약 30개의 TCP 옵션 보유
- 3-Way Handshake : 데이터 보내기 전 연결 확립을 위해 패킷 요청을 세번 교환하는 것 | TCP Flags를 이용해 패킷 교환
- SYN 요청 : 통신을 위해 통신 대상에게 연결 요청 | SYN Flags를 1로 설정 후 전송
- SYN + ACK 응답 : 통신 대상은 요청 대상이 보낸 요청을 받고 허가 응답 | SYN, ACK, Flags를 설정 후 전송
- ACK 응답 : 서버의 응답을 받은 클라이언트는 알겠다는 의미의 응답 | ACK Flags를 1로 설정 후 전송하게 되면 TCP Session이 확립
- 포트번호 : 4계층에서 목적지, 출발지를 나타낼 때 사용하는 번호 | 각각의 포토번호는 애플리케이션을 구분 | Source Port, Destination Port는 각각 2byte로 0번부터 65535번까지 표현 가능
애플리케이션 | SSH | SMTP | DNS | HHTP | HTTPS | POP3 |
포트 | 22 | 25 | 53 | 80 | 443 | 110 |
- UDP(User Datagram Protocol) : 데이터를 효율적으로 보낼 때 사용 | 3웨이핸드쉐이크 과정 X
5계층 : 세션 계층(Session Layer)
- 세션 생성, 유지, 종료 등 세션을 관리하는 계층 | 실제 세션 계층의 기능은 응용프로그램에 통합되어 구현(단독사용 X)
- 세선의 설정, 관리, 해제 | 데이터 전송 서비스 | 동기화 | 오류 보고 및 복구
6계층 : 표현 계층(Presentation Layer)
- 응용 프로그램 간 데이터 변환 담당 | 네트워크로 전송된 데이터 형식(Format) 결정 | 데이터 표현 - ASCII, UNICODE, GIF 등
- 데이터 압축 | 데이터 암호화 | 데이터 변환
7계층 : 응용 계층(Application Layer)
- 애플리케이션에 사용자 인터페이스와 네트워크 서비스 제공
- 사용자 인터페이스 | 네트워크 서비스 | 프로토콜
- HTTP : 인터넷을 통해 웹 페이지, 데이터 전송시 사용 | FTP : 네트워크를 통한 파일 전송에 사용 | SMTP : 이메일을 보내고 받는데 사용 | DNS : 도메인 이름을 IP주소로 확인하는데 사용
- 사용자 인터페이스 | 네트워크 서비스 | 프로토콜
728x90
반응형
'- > 케이쉴드 주니어 스타트업' 카테고리의 다른 글
[윈도우즈기초] 01. 윈도우즈 운영체제 | 02. 윈도우즈 관리 (0) | 2024.11.01 |
---|---|
[운영체제기초] 01. 운영체제 기초 | 02. 운영체제 종류 (1) | 2024.11.01 |
[웹기초] 01. WEB의 이해 | 02. HTML의 이해 | 03. 도메인의 이해 | 04. 프로토콜의 이해 | 05. 쿠키와 세션 (1) | 2024.10.30 |
[네트워크기초] 02. DMZ | 03. NAT | 04. VPN (0) | 2024.10.30 |
정보보안개론 (0) | 2024.10.29 |