네트워크(5)

김형선·2023년 10월 19일

네트워크

목록 보기
5/6

OSI 7 Layer와 TCP/IP 프로토콜

7 응용 계층 (Application Layer)
-> 응용 계층은 응용 소프트웨어에서 데이터를 생성하고 하위 계층으로 데이터를 전달하는 역할을 수행한다.

6 표현 계층 (Presentation Layer)
-> 표현 계층은 원본 데이터를 부호화, 변환, 암호화, 복호화, 압축 등을 진행하여 하위 계층으로 데이터를 전달한다.

5 세션 계층 (Session Layer)
-> 세션 계층은 양 끝단의 사용자들의 통신을 관리하기 위한 방법을 정의하고 하위 계층으로 데이터를 전달한다.

4 전송 계층 (Transport Layer)
-> 전송 계층은 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고받기 위하여 프로토콜을 정의해주고 하위 계층으로 데이터를 전달한다. 대표적인 프로토콜로는 TCP와 UDP가 있다.
(전송 단위 : Segment)

3 네트워크 계층 (Network Layer)
-> 네트워크 계층은 양 끝단의 사용자들의 IP를 확인하여 최적의 정보 전달 가능한 루트를 찾는 라우팅을 진행하며, 서로 간의 네트워크를 연결하여 데이터의 송수신을 가능하도록 해 주고 하위 계층으로 데이터를 전달한다.
(전송 단위 : Packet)

2 데이터 링크 계층 (Data-Link Layer)
-> 데이터 링크 계층은 신뢰성 있는 전송을 보장하기 위한 계층이다. 물리 계층에서 일어날 수 있는 오류들을 찾아내고 수정하여 하위 계층으로 데이터를 전달한다.
(전송 단위 : Frame)

1 물리 계층 (Pysical Layer)
-> 최하위 계층이다, 0 | 1의 2진법의 바이너리 정보를 전기적, 물리적 신호로 수신자에게 정보를 전달하는역할을 수행한다.
(전송 단위 : Bit)


TCP/IP 패킷의 구조

헤더가 이더넷 헤더(2계층), IP 헤더(3계층), TCP/UDP 헤더(4계층) 각각이 나뉘어 붙는 것을 볼 수 있다. 데이터 전송 시에는 높은 계층부터 헤더가 붙는 것이고, 데이터를 수신할 때는 낮은 계층부터 읽어내는 것이다. 읽어낸 정보는 사라지고 그 다음 계층에서는 다시 맨 앞 부분 읽으면 된다.


이더넷 헤더부터 자세히 봐보면

이더넷 헤더는 MAC 헤더와 데이터(Payload), CRC로 구성되어 있다. 데이터엔 7계층부터 3계층까지 내려오면서 (원본 데이터 + 여러 헤더)의 정보가 있다. IP는 3계층의 프로토콜이며, 실질적인 데이터 송수신의 랜카드의 고유번호인 MAC(2계층)을 통해 진행한다. 따라서 최종 헤더인 이더넷 헤더에서 MAC에 대한 정보가 들어가게 되는 것이다. 하지만 IP만 서로 알고 있는 상황에서 어떻게 서로의 MAC 주소를 알 수 있는지는 ARP(Address Resolution Protocol)라는 것을 통해 IP를 MAC으로, RARP(Reverse Address Resolution Protocol)라는 것을 통해 MAC 주소를 IP로 바꿀 수 있다.


IP 헤더(3계층)


TCP/IP WireShark로 실습

3way 4way handshake

리눅스, 윈도우 각각 ipconfig로 ip주소 찾고 ping보내봄. 통신중.
nc -l -p 50000(private port) 해본다
netstat -an -p tcp | more(페이지 마다 보는 옵션)
50000번 대기중 listen상태임

nc 192.168.102.136 50000
hello 치면 보내져있음.
ctrl+c로 연결 끊음.

패킷 분석 위해서 wireshark로 캡쳐할 예정.
syn
syn ack
ack
psh ack
ack

fin ack
ack
fin ack
ack 로 결과 나옴


SYN, ACK, FIN은 TCP/IP에서 사용하는 패킷의 종류입니다. SYN은 "synchronize"의 약자로, 연결을 설정하기 위한 패킷입니다. ACK는 "acknowledge"의 약자로, 데이터를 수신했다는 것을 확인하기 위한 패킷입니다. FIN은 "finish"의 약자로, 연결을 종료하기 위한 패킷입니다.

TCP/IP에서 패킷은 헤더와 데이터로 구성됩니다. 헤더에는 패킷의 종류, 소스 주소, 목적지 주소, 데이터의 길이 등이 포함되어 있습니다. 데이터는 패킷의 본문으로, 실제 전송할 데이터가 포함되어 있습니다.

SYN, ACK, FIN 패킷은 TCP/IP에서 사용하는 중요한 패킷으로, 연결을 설정하고 종료하는 데 사용됩니다. 이 패킷들은 헤더에 패킷의 종류가 명시되어 있기 때문에, TCP/IP에서 쉽게 구분할 수 있습니다.


NAT 이해하기 링크 클릭

0개의 댓글