익명 사용자
로그인하지 않음
계정 만들기
로그인
youngwiki
검색
TCP 문서 원본 보기
youngwiki
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
원본 보기
역사
←
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
문서로 돌아갑니다.
둘러보기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록