검색 여닫기
검색
메뉴 여닫기
555
262
4
6.2천
noriwiki
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
파일 올리기
환경 설정 메뉴 여닫기
notifications
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
user-interface-preferences
한국어
개인 도구
로그인
TCP 문서 원본 보기
noriwiki
문서 공유하기
다른 명령
←
TCP
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
상위 문서: [[Transport Layer]] ==개요== '''TCP'''(Transmission Control Protocol)는 연결 지향형('''connection-oriented''')이라고 불린다. 왜냐하면, 한 프로세스가 다른 프로세스에게 데이터를 보내기 시작하기 전에, 양쪽 프로세스는 먼저 서로 '''handshake'''를 수행해야 하기 때문이다. 즉, 데이터 전송에 앞서 몇 개의 초기 segment를 주고받아, 앞으로의 데이터 전송을 위한 매개변수를 설정해야 한다. 이러한 handshaking은 TCP가 '''riliable하고, in-order한 byte stream'''을 제공하도록 한다. 이때, TCP 연결은 항상 '''point-to-point'''이며, 이는 단 하나의 송신자와 단 하나의 수신자 사이에 연결이 형성된다는 것을 의미한다.<br> 또한, TCP 연결은 양방향('''full-duplex''') 서비스를 제공한다. 즉, 한 호스트의 프로세스 A와 다른 호스트의 프로세스 B 사이에 TCP 연결이 있으면, application layer의 데이터는 A → B로 흐름과 동시에 B → A로도 흐를 수 있다. TCP는 그 외에도 flow control, congestion control과 같은 여러 서비스도 부가적으로 제공한다. ==TCP segment Structure== TCP segment는 헤더 필드들과 데이터 필드('''payload''')로 구성된다. 데이터 필드는 application layer의 데이터의 일부(청크)를 담는다. 앞서 언급했듯이, MSS(Maximum Segment Size)는 세그먼트의 데이터 필드 최대 크기를 제한한다. TCP가 웹페이지의 이미지처럼 큰 파일을 전송할 때, 보통 해당 파일을 MSS 크기의 청크로 나눈다.<ref>단, 마지막 청크는 MSS보다 작을 수 있다</ref> Figure1은 TCP segment의 구조를 보여준다. UDP와 마찬가지로 TCP 헤더에는 '''송신자/수신자의 port 번호'''가 포함되어 있으며, 이는 multiplexing/demultiplexing에 사용된다. 또한 UDP와 마찬가지로 checksum field도 있다. 그리고 '''sequence number''' 필드와 '''ACK''' 필드는 TCP가 rdt 서비스를 구현하는데 사용된다. ==각주== [[분류:컴퓨터 네트워크]]
TCP
문서로 돌아갑니다.