ABOUT ME

고민하다 미루지 말고, 시작하고 나서 고민하기

Today
Yesterday
Total
  • 혼공네트] 6주차 - 과제 : Ch6 - Ch7. 네트워크 실습 및 심화 과정
    Network 2025. 2. 25. 17:52
    반응형

    혼공학습단 13기

     

    필수과제


    혼자 공부하는 네트워크 p.379

    Q1. 다음은 호스트 A와 B 간의 쓰리 웨이 핸드셰이크 과정에서 호스트  A가 호스트 B에게 전송한 첫 번째 SYN 세그먼트의 일부입니다. 쓰리 웨이 핸드셰이크상에서 호스트 B가 호스트 A에게 전송할 다음 세그먼트의 Acknowledgment number(raw)는 무엇일까요?

     

    A. 

    3588415413

     

    위 보기는 와이어샤크를 통해서 확인한 네트워크 TCP 연결 수립 과정이다.

    보기에서 Flags : 0x002 (SYN) 인 것을 보면

    3-way-handshake 과정 중 첫 번째 과정인  SYN 세그먼트(연결 요청) 패킷이다. 

    송수신 방향 세그먼트 세그먼트에 포함된 주요 정보 비유 메시지
    A → B SYN 세그먼트 - 호스트 A의 초기 순서 번호
    - 1로 설정된 SYN 비트
    연결 요청
    B → A SYN + ACK 세그먼트 - 호스트 B의 초기 순서 번호
    - 호스트 A가 전송한 세그먼트에 대한 확인 응답 번호
    - 1로 설정된 SYN 비트
    - 1로 설정된 ACK 비트
    요청 수락 및 시작
    A → B ACK 세그먼트 - 호스트 A의 다음 순서 번호
    - 호스트 B가 전송한 세그먼트에 대한 확인 응답 번호
    - 1로 설정된 ACK 비트
    연결 성립

    와이어샤크의 Flags를 펼쳐보면 SYN만 Set (1)로 되어있다.

     

     

    • Sequence Number(relative sequence number) : 실제 순서 번호는 한눈에 파악하기 어렵기 때문에 와이어샤크에서 제공하는 상대적인 순서 번호. 
    • Sequence Number(raw) : 실제 순서 번호. 실제 초기 순서 번호는 임의의 수로 설정된다. 데이터 순서를 유지하고, 재전송/손실을 관리하는 데 사용됨.
    • Acknowledgment number : 가독성을 위해 와이어샤크에서 제공하는 상대적인 확인 응답 번호
    • Acknowledgment number(raw) : 실제 확인 응답 번호. 송신 측에게 어떤 데이터가 정상 수신됐는지 알리는 역할.

     

    문제에서는 다음 과정인 SYN + ACK 세그먼트(요청 수락 및 시작)에서의 Acknowledgment number(raw) 를 물어보았는데,

    SYN + ACK 세그먼트 패킷에서는 SYN 세그먼트의 패킷을 정상적으로 수신받았으면, 이전 패킷의 순서 번호 Sequence Number(raw) : 3588415412에 1을 더한 3588415413을 확인 응답 번호로 전송한다.

     

     


    혼자 공부하는 네트워크 p.407

    Q2. 다음 그림은 두 호스트가 TLS 1.3 핸드셰이크를 수행하는 과정을 나타낸 그림 일부입니다. 괄호 안에 들어갈 TLS 관련 메시지로 알맞은 말을 골라 보세요.

    ① Application Data

    ② ARP Request

    ③ ServerHello

    ④ Finished

     

    A.

     

    문제에서는 TLS handshake에 대한 과정을 요구하고 있다. TLS handshake의 첫 번째 과정인 ClientHello 메시지가 서버로 전송되면 서버에서는 ServerHello 메시지를 클라이언트로 전송한다. 이 과정을 통해 암호화 키를 만들어 클라이언트와 서버 간에 암호화된 메시지를 송수신할 수 있게 된다. 

     

    TLS (Transport Layer Security)

    SSL(Secure Sockets Layer)과 같이 인증과 암호화를 수행하는 프로토콜 

    • HTTPS(HTTP over TLS) : HTTP 메시지의 안전한 송수신을 위해 개발된 SSL/TLS를 사용하는 대표적인 프로토콜.
    • HTTPS 메시지 송수신 과정
      1. TCP 3-way-handshake
      2. TLS handshake : 암호화 통신을 위한 키 교환 / 인증서 송수신과 검증이 이루어지는 단계
      3. 암호화된 메시지 송수신
    • TLS handshake
      1. ClientHello : 클라이언트 메시지
        • 암호화된 통신을 위해 서로 맞춰 봐야 할 정보들을 제시하는 메시지
        • 지원 TLS 버전, 암호 스위트(cipher suite; 사용 가능한 암호화 알고리즘과 해시 함수), 키 생성에 필요한 난수 등이 포함
      2. ServerHello : 서버 메시지
        • 제시된 정보들을 선택하는 메시지
        • 선택된 TLS 버전, 암호 스위트, 키 생성에 필요한 난수 등이 포함
      3. 1,2번 과정을 거치고 나면 암호화 통신을 위해 사전 협의해야 할 정보들이 결정됨.
        • 암호화에 사용할 키 생성
      4. 인증서 및 인증서 검증 
        • 서버는 Certificate(인증서) 메시지와 CertificateVerify(인증서 검증을 위한 디지털 서명) 메시지 전송
        • 클라이언트는 이 메시지를 토대로 서버의 공개 키 검증
      5. 암호화 통신 수행 (마무리)
        • 서버와 클라이언트는 TLS 핸드셰이크의 마지막을 의미하는 Finished 메시지를 주고 받음
        • 주고받은 키를 바탕으로 암호화 데이터(Application Data)를 주고받음

     

    ① Application Data는 TLS handshake를 통해 암호화된 데이터를 주고받는 것을 나타내고,

    ④ Finished는 TLS handshake의 마지막을 의미하는 메시지를 나타낸다. Finished 메시지는 Application Data와 함께 전송이 가능하다.(TLS 1.3) 

     

    ② ARP Request는 Addresss Resolution Protocol 동작 과정 중 첫 번째 과정인 ARP 요청을 말한다.

     

    ARP (Address Resolution Protocol)

    • 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아내는 프로토콜 (스위치의 MAC 주소 학습은 주체가 스위치, ARP는 주체가 호스트이다.)
    • 사용 이유 : MAC 주소와 IP 주소는 함께 사용하지만, 기본적으로 IP주소(수신지)를 우선 고려하여 사용한다. 이 과정에서 IP 주소는 알지만 MAC 주소를 알지 못하는 상황이 발생하는데, 이 때 ARP 프로토콜을 사용한다.
    • ARP 동작
      1. ARP 요청 (ARP Request)
        • 호스트A가 ‘ARP 요청 브로드캐스트 메시지(ARP 패킷)’ 전송
        • “누가 IP = 192.168.0.10을 가지고 있나요? 제 MAC 주소는 XX:XX:XX:XX:XX:XX이고, 제 IP는 192.168.0.1입니다”
      2. ARP 응답 (ARP Reply)
        • 메시지에 해당하지 않는 호스트들은 메시지를 무시하고, 해당하는 호스트는 자신의 MAC 주소를 담은 ‘ARP응답 유니캐스트 메시지’(ARP 패킷)를 호스트A에게 전송.
        • 호스트 A는 해당 호스트의 MAC 주소를 알게 됨
      3. ARP 테이블 갱신
        • ARP 테이블(ARP Table) : ARP 요청-응답을 통해 알게 된 IP 주소와 MAC 주소의 연관 관계
          • 테이블 항목은 일정 시간이 지나면 삭제 됨. 임의로 삭제 가능
          • 테이블에 등록된 호스트에 대해선 ARP 요청을 보낼 필요 없음

     

    추가과제

    와이어샤크에서 실제 TCP/UDP 패킷 확인해 보기

     

    와... 공부했지만 모르겠다ㅋㅋㅋㅋㅋㅋ아무래도 복습 한 번 더 쫘라락 해야할 것 같다...

    그래도 저 까마득한 글자 중 알아볼 수 있는게 있어서 아주 기쁘다 호호

     

     

     

     

    참고자료

     

    반응형
Designed by Tistory.