둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
TCP 문서 원본 보기
이름공간
문서
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
TCP
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
'''전송 제어 프로토콜'''(Transmission Control Protocol)은 [[인터넷 프로토콜]]과 함께 [[인터넷]]의 근간을 이루는 양대축이다. 둘을 묶어서 [[TCP/IP]]로 자주 부르는 데, 원래 둘이 한 몸이었기 때문이다. == 개요 == [[OSI 참조 모델]] 4계층(전송 계층)에 속하는 TCP는 가상 회선 방식으로 연결 지향형이며, 에러 검출이나 흐름 제어가 가능한 신뢰적 프로토콜이다. 원래 한 몸이었던 [[인터넷 프로토콜]]이 어떤 꼬라지인지 생각해보면 격세지감이다. [[TCP/IP]]로 묶어서 불리게 된 가장 큰 원인은 둘의 다른 특성에 기인한다. IP는 best-effort, 즉 원본(Source; SRC)에서 목적지(Destination; DST)까지 연결되었는지 안 되었는지는 상관하지 않고, 그저 "목적지까지 도달해라 얍!"하고 보내면 끝이라는 뜻이다. 때문에 IP 만으로는 연결이란 개념을 만들어 낼 수가 없었고, 그래서 connection-oriented, 연결 지향적인 TCP 프로토콜이 제안되었으며, TCP는 동기화 등을 통해 의사적으로 원본과 목적지와의 연결을 구현한다. 여기에 TCP는 추가적으로 들어온 내용을 분류하기 위한 역할(포트 번호)도 담고 있으며, 연결 개념이 필요하지 않은 경우에도 포트 번호를 통해 들어온 내용을 분류하기 위해 [[UDP]]라는 프로토콜이 같이 굴러간다. 사실 TCP와 UDP만 알면 OSI 4계층은 거진 다 배운거다. == 세그먼트 == '''세그먼트'''(Segment)는 TCP가 보내는 덩어리(PDU)의 이름으로, 이걸 IP 패킷에 담아서 인터넷에 쏜다. UDP는 데이터그램이라는 이름 그대로 부른다. 세그먼트의 첫 머리인 헤더는 20바이트가 기본이고, 옵션에 따라 60바이트까지 늘어날 수 있다. 대체로 아래의 내용이 담겨있다. * 출도착 포트 *: TCP는 응용 계층에서 데이터를 받아오는 데, 응용 계층은 어플리케이션이 전적으로 담당하는 구간으로 TCP 입장에서는 호스트 구분 대신 어플리케이션 구분이 필요하다. 이것을 포트 번호로 구분하며, 16비트로 1번부터 65536번까지 존재한다. 이것과 호스트 주소를 합쳐서 부르는 주소 형식이 "소켓"이다. 출도착 호스트 구분은 3계층 이하에서 하는 일이다. * 시퀀스 번호(SEQ)/응답 번호(ACK) *: TCP는 신뢰성 프로토콜로, 오가는 모든 내용에 번호를 붙여서 올바르게 통신하고 있는지 확인한다. 시퀀스 번호는 발송자가 보낼 때 기재하는 번호고, 응답 번호는 상대방의 세그먼트를 수신했다는 의미로 받았던 상대방 시퀀스 번호에 +1을 하여 보내는 번호다. 그러면 상대방은 +1된 번호 그대로 시퀀스 번호에 기재하여 보낸다. * 플래그 *: 이 세그먼트가 무슨 목적으로 보내지는 건지 표시하는 부분이다. 일반적인 통신에는 응답 번호가 같이 실려가므로 ACK 플래그가 항상 서 있고, 최초 통신 개시때는 서로의 시퀀스 번호를 맞춰야 한다는 표식인 SYN 플래그를 세워 보내고, 데이터 송수신이 종료된 시점에는 연결을 종료하자는 FIN 플래그를 세워 보낸다. 총 6개의 플래그가 규정되어 있다. {{주석}} [[분류:네트워크 표준]]
이 문서에서 사용한 틀:
틀:주석
(
원본 보기
)
TCP
문서로 돌아갑니다.
다른 언어