네트워크 기초 용어정리 2

way·2024년 6월 26일

6. 전송계층 : 신뢰할 수 있는 데이터 전송하기

전송계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필요한 계층이다.
오류를 점검하는 기능이 있으며, 오류 발생 시 데이터를 재전송 하도록 요청한다.
전송된 데이터의 목적지가 어떤 애플리캐이션(웹 브라우저, 메일기능...)인지 식별하는 기능이 있다.

연결형 통신 / 비연결형 통신

전송계층의 특징
1. 연결형 통신 | 신뢰성/정확성: 통신하는 상대방을 확인해가며 데이터를 목적지에 정확히 전달하는 것 - (ex 메일, API) 통신 프로토콜로 TCP(Transmission Control Protocol)을 사용함

  1. 비연결형 통신 | 효율성 : 상대방을 확인하지 않고 일방적으로 데이터를 전송하여 효율적으로 데이터를 전달하는 것 (ex 동영상 송신) 통신 프로토콜로 UDP(User Datagram Protocol)을 사용함

6-1. TCP(연결형 통신 프로토콜)

TCP헤더 - TCP로 전송할 때 붙이는 헤더. 이 헤더가 붙은 데이터를 세그먼트Segment 라고 한다. 출발지 포트번호, 목적지 포트번호, 일련번호, 확인 응답번호 등 목적지까지 데이터를 전송하기 위해 필요한 정보를 담고있는 헤더이다.

<TCP 헤더의 구성>

연결(Connection) - TCP통신에서 정보를 전달하기 위해 사용되는 가상의 독점 통신로

TCP헤더안에 들어있는 정보 중 하나인 코드비트(6비트) 중 SYN(연결요청)과 ACK(확인응답)의 값을 통해 연결을 확립한다.

3-way 핸드셰이크

데이터를 보내기 전 연결을 확립하기 위해 패킷 요청을 3번 교환하는 것
코드비트 SYN과 ACK값이 0->1로 활성화

연결 종료시에는 FIN, ACK값을 1로 활성화하여 종료절차를 거친다.

일련번호/확인응답구조

3-way핸드셰이크가 끝난 후 실제 데이터를 보낼 때 일련번호와 확인응답번호를 사용한다.
일련번호 : 송신->수신측에 이 데이터가 몇번째 데이터인지 알려주는역할
확인응답번호 : 수신측이 몇번째 데이터를 수신했는지 송신측에 알려주는 역할
재전송제어 : 일련번호/확인응답번호를 사용해서 데이터가 손상되거나 유실된 경우 일정시간동안 대기한 후 재전송
버퍼(buffer):받은 세그먼트를 일시적으로 보관하는 장소. 연속해서 세그먼트를 받아서 처리할 수 있음. 그러나 버퍼의 한계크기 초과하여 대량으로 데이터가 전송될 경우 오버플로(Overflow)가 발생할 수 있다. 버퍼의 한계크기는 TCP헤더의 윈도우크기(window size)값이다. - 3way핸드셰이크 시 파악됨

포트번호 구조

출발지 포트번호(source port number), 목적지 포트번호(destination port number)를 통해 애플리케이션을 구분한다. 0~65535
0~1023 : 주요 프로토콜이 예약되어있다.(well-known port) 서버측 애플리케이션에서 사용.
1025이상 : 랜덤포트. 클라이언트 측 송신포트로 사용됨

6-2. UDP(비연결형 통신 프로토콜)

신뢰성/정확성을 중시하는 TCP와 달리 UDP는 효율성을 중시한다. 데이터를 효율적으로 빠르게 보내는 것이 장점으로 스트리밍 서비스 등에 사용한다.

UDP헤더를 붙인 데이터=UDP데이터그램
3-way핸드셰이크 방식처럼 상대방의 응답을 확인하면서 전송하지 않고, 일방적으로 전송한다.

UDP를 사용하면 컴퓨터/네트워크 장비에 데이터를 일괄로 보낼 수 있다(broadcast)

7. 응용계층:애플레케이션에 데이터 전송하기

웹브라우저나 메일프로그램(아웃룩 등)과 같이 서비스를 요청하는 측에서 사용하는 애플리케이션(클라이언트), 서비스를 제공하는 측의 애플리케이션(서버)이 있다.

7-1. 웹서버의 구조

www : HTML, URL , HTTP라는 세가지 기술이 사용됨.
HTTP : 하이퍼텍스트 / 태그를 사용하여 작성하는 마크업 언어. 포트 80을 사용하고 HTTP요청을 보내고 서버에서 HTTP응답을 반환함.
keepalive : 한번 연결을 수립하면 데이터 교환을 마칠 때까지 유지하고, 데이터 교환을 모두 끝내면 연결을 끊는 구조(HTTP1.1~)
HTTP/2버전부터는 요청을 보낸순서대로 반환하지 않아도 됨.

7-2. DNS서버 구조(이름해석)

URL을 IP주소로 변환하는 역할의 서비스
222.235.11.210 -> http://www.mysite.kr
컴퓨터가 URL을 입력하여 접속하면 DNS서버에서 URL에 해당하는 IP주소를 리턴한다. 컴퓨터 측에서 IP주소로 웹서버에 접속한다.
DNS서버는 전세계에 흩어져있고 모두 계층적으로 연결되어있다. DNS서버1이 도메인의 IP주소를 모를경우 다른 DNS서버2에 질의해서 알아내는 식으로 연계해서 동작한다.

7-3. 메일서버의 구조(SMTP/POP3)

메일을 송수신하기 위한 프로토콜 구조
메일 보내기 -> SMTP(25)
메일 받기 -> POP3(110)

ping 명령

목적지 컴퓨터와의 통신을 확인하는 명령어. ICMP(Internet Control Message Protocol)라는 프로토콜을 사용하여 목적지 컴퓨터에 ping명령이 정상적으로 실행되면 네트워크 연결이 정상이라고 판단할수 있어 문제확인 시 자주 사용됨.

ping 목적지IP주소
ping 목적지 호스트 이름

0개의 댓글