ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 성공과 실패를 결정하는 1%의 네트워크 원리 2장: 프로토콜 스택, LAN 어댑터
    Web Dev/7. 네트워크 2021. 3. 23. 13:35
    728x90
    • 프로토콜 스택이 진짜 뭔가 전송하는곳
    • 전체적인 흐름
      • 브라우저에서 뭐좀해달라고 요청 ->
      • 클라이언트의 소켓이 만들어짐
      • 서버측에도 소켓이 있음
      • 클라이언트 소켓이랑 서버 소켓이랑 어떻게 접속을 함: 누가 누구랑 연결되어있는지!
      • 데이터를 송수신한다. 
      • 서버에서 다끝나면 연결을 끊는다(소켓 말소)
    • 네트워크 제어용 소프트웨어(프로토콜 스택) / 네트워크용 하드웨어(LAN 어댑터)
    • 프로토콜 스택은 운영체제에 내장된 소프트웨어이다. 얘가 네트워크 관련 처리를 한다. 
    • 실제 하드웨어는 LAN어댑터이다.
    • 애플리케이션중에 네트워크 애플리케이션(웹브라우저)같은 애들은 소켓 라이브러리를 통해서 프로토콜 스택에 뭔가를 부탁함으로써 실제 네트워크 관련 처리를 한다. 
    • 소켓은 통신 제어용 제어 정보를 저장하는 곳이다. 
    • 접속이란?
      • 접속을 할때 클라이언트는 소켓을 생성하는데, 생성하는 것만으로 접속이 되는 것은 아니다. 
      • 통신상대와의 사이에서 제어정보를 주고받아 소켓에 필요한 정보를 기록해야 데이터 송 수신을 할 수있는 접속상태가 완료된다. 
      • 이때 데이터를 송수신할때 데이터를 저장하는 메모리 영역인 버퍼 메모리도 확보한다
      • 프로토콜 스택은 이 소켓의 정보를 보면서 어디로 데이터를 보내야하는지 파악한다.
      • 참고할
    • 윈도우 사이즈: 수신가능한 데이터 양의 최대값
    • tcp-ip를 잘 정리한 글
    • 이더넷이란?
      • LAN에서 많이 활용되는 기술 규격
      • 네트워크에 연결된 각기기들이 고유의 MAC주소를 이용해 상호간에 데이터를 주고 받을수있도록 만들어졌다. 
    • IP헤더: IP프로토콜에 규정된 규칙에 따라 IP주소로 표시된 목적지까지 패킷을 전달할때 사용하는 제어 정보를 기록한것
    • MAC헤더: 이더넷 등의 LAN을 사용하여 가장 가까운 라우터까지 패킷을 운반할때 사용하는 제어 정보
    • TCP헤더는 데이터 뭐고 포트어디고 그런거!!: [여기]
      • sequence number같은거, ack number 포함되는곳
       

    성공과실패를 결정하는 1%의 네트워크...정말 미쳐버린 책.... 최고의 책... 반도 이해못한거같다

    <내가 이해한 부분>

     

    브라우저에서 네트워크처리는 프로토콜 스택에 의뢰를 한다. (여기는 응용계층 -application layer)

    이때 DNS에서 도메인을 기반으로 IP를 찾는건 프로토콜 스택의 UDP를 담당하는 쪽에서 봐주고, 소켓을 생성하는것 + 실제 접속하는것+ 송신+수신+연결끊고+소켓 말소하는건 TCP를 담당하는 곳에서 한다. 여기를 TCP/IP 4계층 모델에서는 전송계층이라고 한다. 

    이때 TCP 헤더랑 데이터가 만들어진 부분 앞에는 IP헤더를 붙여줘야하는데 이걸 하는 곳이 인터넷 계층이다

    그다음에 실제로 MAC헤더를 사용해서 데이터를 실제로 이동하는 계층이 네트워크 계층이다

     

    이때 MAC헤더를 통해서 허브를 거쳐 라우터에 도착한다. 허브는 MAC주소를 보고 시키는데로 데이터를 넘기고 라우터는 나한테 도착하는게 맞았으면 MAC헤더는 떼고, IP주소를 보고 다음에 어떤 라우터를 볼지 판별하고 MAC헤더를 다시 붙인다. 

     

    이때 수신처 라우터의 MAC주소를 정할때 ARP라는걸 통해서 여보시요~ 여기 누구 이 IP 아는분하고 브로드 캐스트한담에 안다는 애 있으면 거기 MAC주소로 본낸다. 

     

     

     

    나중에 더보기

    이글이 정리가 잘되어있는것 같아서 이글도 다시보기!

    댓글

Designed by Tistory.