CS/네트워크(19)
-
L4 ▶ TCP 연결 / 종료 과정
참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초 TCP 연결 과정(3-way handshaking)📝참고자료 : https://livenow14.tistory.com/57 연결 과정이라는 것은 정책을 교환한다는 의미이다.여기서 교환되는 정책이란 Sequence의 번호를 교환하는 것과 MSS(Maximum Segment Size)정보를 교환하는 것이다.Sequence 번호는 TCP연결이 순서번호로 구현된다는 의미이다. 그리고 순서번호는 전송하고자 하는 데이터의 바이트 수만큼 증가한다. 연결 요청단계(SYN_SENT) : 클라이언트 측 TCP는 서버TCP에게 SYN 세그먼트를 송신한다. 이 세그먼트에는 Payload가 들어있지 않다. 즉, 어플리케이션 계층의 데이터를 포함하지 않는..
2024.06.02 -
L4 ▶ TCP / UDP
참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초 TCP와 UDPtransport L4 계층의 대표적인 프로토콜로 TCP와 UDP가 있다.TCP에만 연결(Connection, Session) 개념이 있다.3 way handshake와 같은 양방향 연결의 개념은 TCP에만 존재한다.연결이라는 개념은 Virtual이다. 즉, Logical한 개념이다.연결은 상태(전이)개념을 동반한다.전화 연결을 예시로 들어보면 연결 전, 연결, 연결 후라는 상태 개념으로 표현할 수 있다.TCP는 ZeroWindow이면 패킷을 전송하지 않는다.Socket I/0 Buffer에 수용할 수 있는 잔여 공간이 없다면 ZeroWindow가 발생하는데 이때 TCP는 송신 측으로부터의 패킷을 받지 않는다.UDP는..
2024.05.26 -
L3 ▶ Ping과 RTT
참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초 Ping 유틸리티는 하나의 프로그램이지 프로토콜이 아니다. 특정 Host에 대한 RTT(Round Trip Time)을 측정할 목적으로 사용되는 프로그램이다.RTT는 패킷이 목적지에 도달하고, 해당 패킷에 대한 응답이 출발지로 다시 돌아오기까지의 시간을 말한다. 롤을 할 때 핑이 3ms, 8ms, 20ms 등 다양하게 측정되는데 이 값들이 엄밀히 말해서는 RTT에 해당하는 것이다.Ping은 ICMP 프로토콜을 이용하는데 ICMP는 네트워크 장치에서 네트워크 통신 문제를 진단하는데 사용하는 프로토콜이다.Ping은 Dos 공격용으로 악용되기도 한다.Ping의 유틸리티로 Echo Request를 보내 내가 보낸 데이터를 그대로 응답받는 ..
2024.05.24 -
L3 ▶ ARP
참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초 ARP (Address Resolution Protocol)멍청한 질문부터 던져보자.현재 PC에서 네이버 서버로 네트워크 요청을 보내고 싶다. DHCP를 통해 내가 사용할 수 있는 IP주소를 할당받았고, 네이버의 서버 IP주소도 알고 있다. 3.3.3.3이다. 그런데 네트워크 요청을 보내려면 목적지의 IP주소와 MAC주소도 알고 있어야한다. 현재 나는 네이버 서버의 MAC주소를 모른다. 네트워크 요청을 보낼 수 없는 것일까? 결론부터 말하면 접근이 잘못되었다. 목적지의 MAC주소에는 네이버의 MAC주소가 들어가는 게 아니라 Gateway의 MAC주소가 들어간다. 이 부분을 전제로 깔고 들어가자. 내가 알고 싶은 것은 목적 Host의..
2024.05.24 -
L3 ▶ DHCP
참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초 DHCPDHCP는 Dynamic Host Configuration Protocol의 약자로 해당 IP주소와 기타 관련 구성 정보를 IP호스트에 자동으로 제공하는 클라이언트/서버 프로토콜이다. 쉽게 설명하면 인터넷 사용 설정을 자동화시켜주는 것이라고 생각하면 된다. 내가 사용할 IP주소를 서버가 알려준다는 것이 핵심이다.IP주소 뿐만 아니라 기타 관련 구성 정보를 제공하는데 여기에는 Gateway 주소, DNS 주소, 서브넷 마스크 등이 포함된다. DHCP Server로부터 위에서 언급한 다양한 정보들을 제공받으려면 DHCP 클라이언트는 Broadcast를 통해 DHCP 서버를 찾아야한다. 서버를 찾았다면 서버로부터 자신의 시스템을 ..
2024.05.24 -
L3 ▶ TTL과 단편화
참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초 TTL인터넷의 핵심요소라고 하면 크게 Router(L3 Switch)와 DNS(Domain Name System)라고 할 수 있다.Router는 패킷의 이동매체이다. 교차로의 역할이라고 생각할 수 있는데 라우팅 테이블이라는 이정표의 정보를 바탕으로 패킷이 어떤 방향으로 흘러갈지를 결정하는 것이다. 이동매체가 Router라면 이동단위를 TTL이라고 생각할 수 있다. TTL(Time To Live)는 IP Header에 명시되어있다. 패킷이 Router를 따라 목적지까지 잘 이동한다면 문제가 없겠지만 여러가지 이유로 목적지까지 이동하지 못할 수도 있다. 이때 패킷을 제거하지 않으면 떠돌이 패킷들이 네트워크 세상을 가득 메울 것이다. 그..
2024.05.24