본문 바로가기
도서/모두의 네트워크

모두의 네트워크 6장 - 전송 계층:신뢰할 수 있는 데이터 전송하기 (2021-03-04)

by Dev_Dank 2021. 3. 4.

- 네트워크에 입문하기 위해 길벗 출판사의 모두의 네트워크를 읽으며 공부한 내용을 정리하는 포스팅입니다.

- 혹시라도 틀린점이 있다면 망설이지 마시고 바로 알려주세요 :)


23. 전송계층의 역할

전송계층은 목적지에 데이터를  제대로 전달하는 역할이고, 오류를 점검하는 기능도 한다. 

전송계층은 전송된 데이터의 목적지가 어떤 애플리케이션으로 가야하는지 확인한다.

전송계층의 프로토콜에는 TCP(Transmission Control Protocol)과 UDP(User Datagram Protocol)이 있다.

연결형 통신은 신뢰할 수 있고 정확하게 데이터를 전송하는 통신 방식이다.(TCP 프로토콜 사용)

비연결형 통신은 신뢰성을 보장하지 않지만 효율적으로 데이터를 전송하는 방식이다.(UDP 프로토콜사용, e.g. 동영상 스트리밍)

24. TCP의 구조

전송계층에서는 TCP헤더가 붙는다.

TCP헤더가 붙은 데이터를 세그먼트라고 한다.

연결을 확립하기 위해 TCP 헤더에 있는 코드 비트를 사용한다.

코드비트중 'SYN'은 연결요청 'ACK'는연결응답 'FIN'은 연결종료를 뜻한다. 

연결확립을 위해 패킷교환을 3번하는데 이를 3-way 핸드셰이크라고 한다. 

연결을 확립할 때는 'SYN'과 'ACK'를 사용하고 연결을 종료 할떄는 'FIN과 'ACK'를 사용한다.

25. 일련번호와 확인 응답 번호의 구조

3-way 핸드셰이크 이후 데이터를 전송할 때는 TCP 헤더의 일련번호와 확인 응답 번호가 사용된다.

데이터를 재전송 하는것을 재전송 제어(데이터가 손상되거나 유실된 경우 데이터를 재전송하는 것)라고 한다. 

수신한 세그먼트를 일시적으로 저장하는 장소를 버퍼라고 한다.

데이터 크기가 버퍼크기를 넘어서는 것을 오버플로우 라고 한다. 

버퍼 용량의 크기를 윈도우 크기라고 한다. 

3-way 핸드셰이크를 하면서 송신측과 수신측이 서로의 윈도우 크기를 확인하된다.
=> 이를 바탕으로 오버플로우가 일어나지 않는 많큼 데이터를 한번에 보낸다. 

26. 포트 번호의 구조

포트 번호는 어떤 애플리케이션인지 구분하는 역할을 한다. 

포트번호는 0~65535번을 사용한다. 0~1023번은 잘 알려진 포트(well-known ports)라고 하고 1025번 이후는 랜덤 포트라고 한다. 

27. UDP의 구조

UDP는 데이터를 효율적이고 빠르게 보낼 때 사용되는 프로토콜이다.
=> TCP와 다르게 상대방을 확인하지 않고 연속으로 데이터를 보낸다. 

UDP는 UDP헤더가 있지만 TCP 헤더에 비해 간단하다. 

UDP 헤더가 있는 데이터를 UDP 데이터그램이라고 한다.

UDP는 랜에서 불특정 다수에게 브로드캐스트(네트워크의 모든 컴퓨터와 장비에 같은 패킷을 일괄 전송)로 데이터를 일괄 전송 할 수 있다. 

댓글