[Network] 3회차 스터디
『IT 엔지니어를 위한 네트워크 입문』 책을 읽고 정리하는 스터디입니다.
일시 : 2023년 1월 30일(월) 대면 진행
스터디장 : 우다현(C)
작성자 : 참여자 모두
참여자 : 우다현(C), 박지윤(L), 이웅희(C), 김다인(M), 박현재(M), 김수민(M)
1. 우다현
새롭게 알게 된 점
유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트의 통신 방식의 차이점을 확실하게 알고 넘어갈 수 있었습니다.
MAC의 하드웨어에 종속적이고 24비트씩 나누어서 구분하는 주소 체계와 동작 방식을 이해하였습니다.
IP의 IPv4/IPv6의 주소 체계를 이해하였습니다. 클래스 기반의 네트워크 분할 기법(클래스풀)이 이제는 사용되지 않고 보다 세밀하게 분할하고 할당하기 위해 서브넷 마스크를 이용해 네트워크의 크기에 맞추어 1비트 단위로 네트워크를 상세히 분할하는 방법(클래스리스)을 사용한다는 것을 알게 되었습니다.
TCP는 4계층의 특징을 가져 3방향 핸드셰이크로 사전 연결을 확립하고 수신자가 잘 받아 처리할 수 있는 전송 크기(Window Size)까지 고려하여 신뢰성 있는 통신을 보장합니다. UDP는 데이터 전송을 보장하지 않으나 응답 시간에 민감한 경우 사용하기 좋습니다.
차이점은 다음과 같습니다.
- TCP : 연결 지향, 오류 제어 수행, 흐름 제어 수행, 유니캐스트, 전이중(Full Duplex), 데이터 전송
- UDP: 비연결형, 오류 제어 수행 안 함, 흐름 제어 수행 안 함, 유니캐스트/멀티캐스트/브로드캐슨트, 반이중(Half Duplex), 실시간 트래픽 전송
그래서 동작이나 연결 확립은 TCP 프로토콜로 사용하고 애플리케이션끼리 모든 준비를 마친 후 실제 데이터만 UDP를 이용하는 경우가 대부분인 것을 알게 되었습니다.
ARP는 물리적 주소인 MAC과 논리적 주소인 IP를 연결하는 프로토콜입니다. ARP 브로드캐스트를 이용해 네트워크 전체에 상대방의 MAC 주소를 질의하고, ARP 브로드캐스트를 받은 목적지는 ARP 프로토콜을 이용해 자신의 MAC 주소를 응답합니다. 이를 통해 출발지, 목적지 둘 다 상대방에 대한 MAC 주소를 학습하고 이후 패킷이 정상적으로 인캡슐레이션되어 상대방에게 전달될 수 있습니다.
ARP는 상대방의 MAC 주소를 알아내기 위해 사용하고, GARP는 자신의 IP와 MAC 주소를 알려서 IP 주소 충돌 감지/상대방의 ARP 테이블 갱신/클러스터링의 역할을 하고, RARP는 서버에 어떤 IP 주소를 써야하는지 물어보기 위해 사용하며 지금은 BOOTP와 DHCP로 대체되어 사용되지 않는다는 차이점을 이해하였습니다.
원격 네트워크 통신에서 사용하는 장비인 게이트웨이, 그리고 출발지에서 목적지가 자신이 속한 네트워크의 범위인지 확인하는 작업에서 사용하는 서브넷 마스크의 개념에 대해 알게 되었습니다.
어려웠거나 이해하지 못한, 혹은 궁금한 점
ARP는 2계층인지 3계층일까요?
Is ARP is a layer 3 protocol? If yes why it is not a layer 2 protocol?
추가 내용
정확한 용어를 알기 위해 추가로 찾아보았습니다.
개념
Sequence Number : TCP 세그먼트의 연속된 데이터 번호
ACK Number : 상대방으로부터 받아야하는 다음 TCP 세그먼트 데이터 번호
TCP Flag
SYN : Synchronization (요청)
ACK: Acknowledgement (응답)
https://mindgear.tistory.com/206
https://eunhyee.tistory.com/246
2. 박지윤
새롭게 알게 된 점
MAC 주소는 NIC에 부여되어 변경이 되지 않는다고 알고 있었는데, 이 또한 메모리 레벨에서 동작하기 때문에 일부 OS에서는 변경이 가능한 것을 알게 되었다.
MAC 주소가 NIC에 고유하게 부여되는 주소라고 해서 이를 어떻게 부여를 할까 궁금했었는데, 제조사별로 주소가 할당된 것을 보고 궁금증이 풀렸다. 그래서 라즈베리파이를 사용할 때 대부분의 MAC 주소의 앞자리가 동일했던거구나 싶기도 했다.
어떠한 이유로 인해 클래스기반의 네트워크에서 클래스리스 기반의 네트워크로 넘어가게 되었는지 알게 되었다.
항상 네트워크를 사용하는 사람의 입장에서 네트워크를 바라보았는데, 네트워크를 설계하는 사람에서 어떤 점들을 고려해야하는지 알게 되었다.
네트워크를 잘 할당하지 못하면, 라우터의 입장에서도 리소스가 낭비됨을 알게 되었다.
RFC가 무엇인지 알게 되었다.
ARP가 어떤 프로토콜인지만 알고 있었는데 내부 동작에 대해서도 알게 되었다.
어려웠거나 이해하지 못한, 혹은 궁금한 점
클라우드 서비스에서도 IP를 할당하게 되는데, 하나의 서버에서 구동되는 여러 대의 인스턴스에 각각 다른 IP가 할당이 된다. 어떠한 과정을 통해서 각각의 인스턴스에 IP가 할당이 되는 것일까?
추가 내용
어떤 조직에서 class A를 할당받았는지 찾아보았습니다.
TCP를 배우면서 congestion control에 대해 자세히 다뤘던 기억이 있는데, 여기서는 패킷을 못 받으면 절반을 줄이고 한 개씩 늘려나간다 라고만 설명이 되어 있어 congestion control에 대해 소개된 글을 찾아보았습니다.
사이 좋게 네트워크를 나눠 쓰는 방법, TCP의 혼잡 제어
3. 이웅희
새롭게 알게 된 점
- 3.2 MAC(Media Access Control) 주소
- 24비트 OUI(Organizational Unique Identifier) + 24비트 UAA(Universally Administered Address)
- == BIA(Burned-In Address)
- 의외로 중복될 수 있음. 동일 네트워크가 아닌 이상 문제 없음.
- 의외로 수정도 가능함. OS에 따라 다름.
- OSX는 ifconfig로 변경 가능.
- NIC 당 한개이므로 한 단말은 여러 MAC 주소를 가지고 있을 수 있음.
- 3.3 IP(Internet Protocol) 주소
- IP 주소를 포함한 3계층 주소의 특징
- 사용자가 변경 가능한 논리 주소
- 주소에 레벨이 있음(네트워크 주소와 호스트 주소).
- 클래스풀(Classful)은 구식 방식.
- 대책 1. CIDR(Classless Inter-Domain Routing)
- 서브네팅(Subnetting)
- 대책 2. NAT와 사설 IP 주소
- 인터넷 어느 구간에서도 사용되지 않는 RFC(Request for Comments)에 명시된 사설 IP 대역을 사용해야함(192.168.0.0/16 등).
- 대책 3. IPv6
- 대책 1. CIDR(Classless Inter-Domain Routing)
- IP 주소를 포함한 3계층 주소의 특징
- 3.5 ARP(Address Resolution Protocol)
- 상대방의 MAC 주소를 알아내기 위해 사용되는 프로토콜
- 브로드캐스트 방식으로 질의 → 유니캐스트 방식으로 응답
- 캐시 테이블을 이용해 성능 향상
- 하드웨어 가속이 아닌 CPU에서 직접 수행됨.
- 많은 요청은 큰 부하로 작용
- GARP(Gratuitious ARP)
- 자신의 IP와 MAC 주소를 알리는 목적
- 송신자와 대상자 IP 주소가 자신으로 동일
- 3가지 주요 목적
- IP 주소 충돌 감지
- 동일 서브넷 상의 다른 ARP 테이블 갱신
- 클러스터링, VRRP, HSRP
- RARP(Reverse ARP)
- DHCP 등으로 대체되어 사용되지 않음
- 3.6 서브넷과 게이트웨이
- 게이트웨이: 원격지 네트워크와의 통신에 사용되는 장비
어려웠거나 이해하지 못한, 혹은 궁금한 점
슬슬 전문적이거나 지엽적인 내용이 나오는 듯. 관심가는 부분만 취사 선택하였음.
추가 내용
- OSX에서 MAC 주소 변경 방법
- How to Change the Mac Address in macOS
4. 김다인
새롭게 알게 된 점
MAC주소가 유일하지 않고 여러 개 가질 수 있는 것과 운영체제에 따라서 수정도 가능함을 알게 되었다.
클래스 기반의 네트워크 분할 기법이란 것이 있었음을 알게 되었다.
NAT
TCP, UDP에 대한 내용을 정리할 수 있었다.
어려웠거나 이해하지 못한, 혹은 궁금한 점
추가 내용
5. 박현재
새롭게 알게 된 점
어려웠거나 이해하지 못한, 혹은 궁금한 점
추가 내용
6. 김수민
새롭게 알게 된 점
- BUM 트래픽, GARP, RARP 용어를 처음 들어보고 새롭게 알게 되었어요.
- 유연한 사용
- L3 스위치라는 이름, MAC 주소와 IP 주소, TCP와 UDP
어려웠거나 이해하지 못한, 혹은 궁금한 점
- 서브넷 마스크, 사설 IP, NAT, DHCP
- 슬라이딩 윈도우 - 뒤의 숫자 무시?
- 전기 신호 ↔ 데이터 (패킷) ~?
- 2 → 3계층 넘겨주는 건 물리적? 논리적?
추가 내용
- p109 정오표
- MAC 주소로 제조업체 찾기 더 간편한 사이트
- https://maclookup.app/macaddress/ + MAC 주소 6글자
스터디 내용
1. 질문
어떠한 과정을 통해서 각각의 인스턴스에 IP가 할당이 되는 것일까요?
VPC의 개념을 알아보면 좋을 것 같아요. VPC 는 Virtual Private Cloud의 줄임말로, VPC 별로 네트워크를 구성할 수 있다고 합니다. VPC를 여러개 적용해놓으면 각각의 완전히 독립된 네트워크처럼 동작하게 된다고 하네요.
전기 신호 ↔ 데이터 (패킷) 변환 방법?
무선통신 이론에 관한 간략한 설명이 이루어짐.
2. 모두 함께 읽어본 자료
사이 좋게 네트워크를 나눠 쓰는 방법, TCP의 혼잡 제어
서브넷 마스크는 무조건1,…10.. 형태인가? - O
슬라이딩 윈도우 (뒤의 내용 무시) ?
https://noodles8436.tistory.com/11
3. 상점
- 가장 정리를 잘 해온 사람: 박지윤 (L)
- 가장 토론에 적극적으로 참여한 사람: 김수민 (M)
'Study > Computer Science' 카테고리의 다른 글
[Network] 6회차 스터디 - 로드 밸런서/방화벽: 4계층 장비(세션 장비) (0) | 2023.02.23 |
---|---|
[Network] 5회차 스터디 - 라우터/L3스위치: 3계층 장비 (0) | 2023.02.15 |
[Network] 4회차 스터디 - 스위치: 2계층 장비 (0) | 2023.02.07 |
[Network] 2회차 스터디 - 네트워크 연결과 구성 요소 (0) | 2023.01.26 |
[Network] 1회차 스터디 - 네트워크 시작하기 (1) | 2023.01.18 |