Study Home

3분 네트워크 교실

네트워크

네트워크란 그물망처럼 무언가에 의해 연결되어 있는 상태이다.
네트워크라고 해도 컴퓨터 네트워크만 있는 것은 아니다.
컴퓨터 네트워크는 컴퓨터와 통신 매체, 데이터로 이루어진다.
컴퓨터와 컴퓨터가 그물망처럼 통신 매체로 연결되어서 데이터를 운반한다.

리소스를 공유하는 것이 네트워크의 장점이다.
데이터를 주고받음으로써 리소스를 공유한다.
주고받는 정보는 비트로 표현된다.

데이터를 주고받는 데이터를 통신을 하기 위해서는 기기와 프로토콜이 필요하다.
프로토콜이란 데이터 통신상에서의 규칙이다.
데이터 통신에서는 회선 교환과 패킷 교환이 있다.

회선 교환은 파이프를 교체하는 방식이다.
패킷 교환은 패킷으로 분할해서 송신하는 방식이다.
컴퓨터 네트워크는 패킷 교환 방식이다.

회선 분배기로 회선을 나누어서 연결을 할 수 있다.
허브를 사용함으로써 회선에 회선 분배기로 끼우지 않아도 분배가 가능하다 이런 구조를 멀티 액세스 네트워크라고 한다.
패킷 교환 네트워크는 컴퓨터, 통신매체, 인터페이스, 라우터로 이루어진다.
네트워크에는 멀티 액세스 네트워크와 포인트 투 포인트 네트워크의 두 종류가 있다. 멀티는 말 그대로 다수, 포인트는 하나만 연결되어 있다.

자신의 책임으로 좁은 범위에서 만드는 것이 LAN이다.
넓은 범위에서 통신 사업자로부터 케이블을 빌려서 만들어진 것이 WAN이다.
인터넷 또한 WAN이다.

데이터 통신은 OSI 참조 모델에 의한 단계와 순서로 이해한다.
OSI 참조 모델은 일곱 개의 계층으로 나누어 있으며 각각은 독립해 있다.
하위 계층은 상위 계층을 위해 일하고 상위 계층은 하위 계층에 대하여 관여하지 않는다.

계층 1: 물리 계층

물리 계층(Physical layer)은 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다. 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층이다. 다양한 특징의 하드웨어 기술이 접목되어 있기에 OSI 아키텍처에서 가장 복잡한 계층으로 간주된다.

계층 2: 데이터 링크 계층

데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다. 네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다.

계층 3: 네트워크 계층

네트워크 계층(Network layer)은 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다.

계층 4: 전송 계층

전송 계층(Transport layer)은 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.

계층 5: 세션 계층

세션 계층(Session layer)은 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다

계층 6: 표현 계층

표현 계층(Presentation layer)은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다.

계층 7: 응용 계층

응용 계층(Application layer)은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다.

통신할 때 송신하는 것은 보내고 싶은 데이터랑 제어용 정보도 필요하다.
계층의 순서대로 헤더가 부가되어가는 것을 캡슐화라고 한다.
수신한 쪽은 반대의 순서로 헤더를 벗겨서 데이터를 입수한다.

계층마다 존재하는 프로토콜그룹을 프로토콜군이라고 한다.
프로토콜은 데이터의 내용을 결정하고 헤더를 결정하고 송수신 순서를 결정한다.
사싪준으로써 TCP/IP 프로토콜군이 사용된다.

TCP/IP 모델에선 TCP/IP 프로토콜군이 제정되었다.
TCP/IP 모델은 4개의 계층으로 이루어진다. 인터페이스, 인터넷계층, 트랜스포트 계층, 애플리케이션층 각각 OSI 와 1, 2,3~4,5~7 과 대응한다고 보면된다.

1계층의 역할은 케이블이 연결되어 있는 기기에 신홀르 전달하는 것이다.
1계층의 역할에 의해 상대에게 데이터가 전달된다.
통신 매체에는 유선과 무선이 있고 유선에는 동선 UTP와 광파이버가 있다.

비트를 신호로 바꾸어 케이블에 보냄으로써 상대에게 전한다
신호의 형태나 전송 방법에 의해 통신속도가 정해진다.
신호는 감쇠,노이즈 간섭, 충돌 등의 문제가 발생한다.

허브는 신호의 증폭과 재생을 수행하고 다수의 컴퓨터를 연결한다.
허브는 신호의 증폭과 재생 이외의 제어는 하지 않으며 플러딩을 한다.

2계층은 신호가 도달하는 범위에서의 데이터의 송수신을 생각한다.
2계층에서는 WAN과 LAN의 규칙이 다르다
LAN에서는 이더넷이 사실표준이다.

1대1인 유니캐스트, 1대 전체인 브로드캐스트, 1대 다수인 멀티캐스트가 있다.
기기는 한 개 이상의 유니캐스트 주소를 가진다.
이더넷에서는 MAC 주소가 사용된다.

이더넷에서는 수신처와 송신처의 MAC 주소, 에러 체크등을 헤더, 트레일러로 붙인다.
수신한 프레임의 수신처가 자기가 이닌 경우는 파기한다.
되도록 충돌을 막기 위해 CSMA/CD를 사용한다.

충돌은 허브에서 발생한다.
스위치는 MAC 주소 필터링과 버퍼링으로 충돌을 막는다.
수신처 MAC 주소에 대응한 포트만 프레임을 송신하느 것이 MAC주소 필터링이다.

버퍼링으로 수신처가 같은 프레임의 충돌을 막는다.
스위치를 사용함으로써 CSMA/CD를 사용할 필요가 없어서 전이중 이더넷이 가능해진다.

좁은 의미의 네트워크는 라우터로 나누어진 컴퓨터 그룹을 말한다.
네트워크 간에서 데이터 통신을 하는 것을 인터넷 작업이라고 한다.
3계층에서는 인터넷 작업을 수행한다.

위치정보를 가진 주소를 논리 주소이다.
수신처까지의 경로 선택을 하는것이 라우팅이다.
TCP/IP에서 인터넷 작업을 수행하는 것이 IP이다.
IP 헤더가 붙은 상태의 PDU 를 IP 데이터그램이라고 한다. 송신처와 수신처의 IP주소를 가지고 있다.

IP 주소는 계층형이고, 32비트 주소이다.
IP 주소는 네트워크 번호와 컴퓨터 번호의 조합이다.
네트워크 번호는 접속되어 있는 모든 네트워크에서 유일해야 하고, 컴퓨터 번호는 그 네트워크 내에서 유일하다.
8비트를 1옥텟으로 하여 4개의 옥텟으로 분할해서 표기한다.

IP 주소는 규모에 따라 할당되는 범위가 정해져 있으며 그것을 클래스라고 한다
클래스에 따라 네트워크 번호를 표시하는 부분의 비트수가 정해져있다.
호스트 번호의 비트가 모드 0 인 주소는 네트워크 주소이다.
호스트 번호가 비트가 모두 1인 주소는 브로드캐스트 주소이다.

네트워크를 작은 네트워크(서브넷)로 나눈다.
서브네트워크를 사용할 경우 IP 주소는 네트워크 번호, 서브넷 번호, 호스트 번호가 된다.
네트워크 번호, 서브넷 번호의 비트수를 나타내기 위해 서브넷마스크를 사용한다.

클래스풀 어드레싱은 낭비가 많다.
클래스를 사용하지 않은 할당 방식이 클래스리스 어드레싱이다.
클래스리스에서는 프리픽스 길이로 네트워크 번호의 비트 수를 나타낸다.

4개의 주소는 데이터를 주고 받는데 필요하다.
송신처 MAC 주소는 송신할 인터페이스에 고정 주소를 사용한다.
송신처 IP 주소 설정 방식은 수동으로 정하는 정적인 방식과 DHCP를 사용해서 자동으로 할당하는 동적인 방식이 있다.
각 클라이언트는 DHCP 서버가 가지고 있는 어드레스 풀로 부터 IP 주소를 할당 반는다.

수신처 MAC주소를 알기 위해서는 ARP를 사용한다.
IP 주소와 MAC 주소의 대응표인 ARP 테이블을 갖는다.
ARP 테이블은 일정기간 경과하면 파기된다.

사용자 혹은 애플리캐이션이 수신처를 결정한다.
IP 주소를 알고 있으면 그것을 사용할 수가 있다.
호스트 명을 알고 있는 경우는 DNS를 사용한다.
DNS 서버에 호스트 명에 대응하는 IP 주소를 문의한다.

4장 라우팅

  1. IP주소, MAC주소 모두 수신처인데 어떤 차이가 있는지 설명하시오. (183p)
  2. MAC 주소는 같은 네트워크 내에서 수신처를 결정하고, IP 주소는 수신처의 컴퓨터를 결정한다. IP 주소가 최정 수신처가 되고 MAC 주소는 그 다음에 정의 되는 수신처가 되는거다.
  3. 같은 허브에 두 대의 컴퓨터가 연결되어 있는데 그 두 대가 서로 다른 네트워크에 소속된 경우 데이터그램 전달이 어떻게 되는지, 그리고 그렇게 되는 이유를 설명하시오. (186p)
  4. 동일한 네트워크 수신이면 수신처에 직접 송신한다. 다른 네트워크 수신이면 디폴트 게이트웨이에 설정된 라우터로 송신한다. 같은 네트워크에 없으면 기본적으로 보내는 곳이 디폴트 게이트웨이다.
  5. 라우터의 동작에서 ‘최적의 경로 지도’를 나타내는 것은? 그리고 그 지도에서 다음 수신처를 찾아내는 방식을 무엇이라 하는가(영어로)? (190~193p)

-라우팅 테이블을 보고 라우터가 수신한 패킷이 수신처까지 도달하기 위한 최적의 경로가 그려져 있는 지도를 나타낸다. 최장일치의 룰(LONGEST MATCH).

  1. 컴퓨터가 다른 네트워크로 데이터를 전송하는 과정을 모두 설명하시오. (196~199p)
  2. 호스트로부터 패킷을 수신받는다. 수신처IP 주소로부터 수신처 네트워크를 결정한다. 라우팅 테이블에서 다음 중계할 라우터, 송신할 인터페이스가 결정된다. 결정된 인터페이스로부터 패킷을 송신한다. 라우터에서 수신처 IP 주소와 비트가 가장 일치하는 것을 선택한다.
  3. 동적 라우팅이란 무엇인지? 그리고 동적 라우팅의 단점을 모두 설명하시오. (203~205p)
  4. 정적 라우팅은 관리자가 수동으로 경로를 입력할때. 라우팅 테이블을 수동으로 업데이트 할때. 장애가 있을때 일일히 수정 해줘야한다. 동적 라우팅은 라우터가 자동으로 정보를 서로 교환해서 경로를 알아내는 방법이다. 모든 경로 중에서 자동으로 최적의 경로를 선택해서 라우팅 테이블을 작성한다. 단점은 저속 회선을 사용하는 경우에 주의가 필요하고 서로 교한한 정보를 가지고 최적 경로를 계산해야 한다. 회선 전송 압박도 있고, 모든 라우터가 동일한 정보를 가져야 한다(CONVERGENCE).
  5. 라우팅 프로토콜의 역할을 설명하시오. (209~211p)
  6. 라우팅 프로토콜은 근접해 있는 라우터 간의 너트워크 정보를 서로 교환할때의 규칙. 정보 교환을 언제 할지, 어떻게 할지, 누구에게 전송할지, 어떤 정보를 전송할지를 결정한다.
  7. RIP에서 Metric은 무엇인가? 그리고 RIP의 동작 방식을 설명하시오. (212~217p)
  8. Metric은 최적 경로를 판단할때의 기준이다. RIP는 자신에게 접속해 있는 네트워크를 포함해서 인접하고 있는 라우터 정보가 RIP에 의해 라우팅 테이블에 추가 된다. 다음 갱신에서 방금 전 갱신 정보가 송신된다. 이것으로 컨버젼스가 된다. 그리고 알고 있는 경로의 정보를 입수한 경우 메트릭으로 판단한다.
  9. ICMP란 무엇인가? ICMP 패킷의 구성요소는 무엇인가? (218~220p)
  10. Internet Control Message Protocol. 인터넷 제어 메시지 프로토콜. 에러 보고 프로토콜이라고도 한다. 이더넷 프레임, ip헤더, icmp 메시지로 구성 되어 있다.
  11. TTL이 필요한 이유는 무엇인가? (222~223p)
  12. Time To Live 생존시간. ip 데이터그램의 TTL은 라우터를 경유 할때 마다 1만큼 줄어들고 0이되면 그 데이터그램은 파기된다. 데이터가 수신처에 도달하지 않고 어딘가로 가버리든지 또는 같은 장소를 빙글빙글 계속 돈다. 그러면 데이터그램은 영원히 네트워크 내이서 존재하는 방해 요소가 된다.
  13. traceroute의 동작 원리를 TTL과 Time Exceeded 메시지를 이용하여 설명하시오. (226~228p)
  14. 수신처까지의 경로를 가르쳐 주는 소프트웨어다. 수신처에 도달하기까지 경우하는 라우터를 가르쳐준다. TTL은 시간이 초과되면 파기되는데 이 파기한 것을 통지하는 메시지가 time exceeded 이다. 임의의 수신처로 데이터를 보내서 TTL이 멈추는 시점까지 어느 경로를 거쳐 갔는지 메시지를 Time exceeded로 받는다.

5장 커넥션과 포트 번호

  1. 4계층의 역할인 흐름 제어의 과정에 대하여 설명하시오. (233~235p)
  2. 수신처에 데이터를 보내면, 수신처는 데이터를 받아서 그것을 일시적으로 모아둔다. 그리고 준비되는 대로 처리한다. 처리가 늦어지거나 송신 속도나 간격이 빠른 경우 데이터가 점점 쌓이기 때문에 결국에는 모아둘 수 가 없게 되어 파기해린다 이것을 오버플로라고 부른다. 그것을 방지하기 위해 수신측은 확인응답 때에 모아둘 수 있는 데이터 양을 송신처에게 통지하여, 송신량을 가감하게 하거나 송신을 일시적으로 중지하게 한다.
  3. 4계층에서 Port Number가 필요한 이유는 무엇인가? (236p)
  4. 애플리케이션은 포트에 의해 통신기능과 접속되어 있다. 그 포트에 부여된 번호를 사용하여 어 에플리케이션이 수신처인지를 판별한다.
  5. TCP에서 Connection이 의미하는 것은 무엇인가? (238p)
  6. 애플리케이션 간의 송수신하는 데이터의 길이다. 가상적인 통로라고도 한다. 데이터 전송을 시작하기 전에 미리 확인을 주고 받는다. 상대에게 확실하게 전할한것을 확인하기 위해서. 이것을 커넥션 확립이라고 한다.
  7. 커넥션 확립 과정인 3way handshake를 플래그를 포함한 그림과 함께 설멍하시오. (242p)
  8. 송신측 SYN 커넥션 확립요청, 수신측의 ACK+SYN 커넥션 확립응답 + 확립요청, 송신측 보냄 ACK 커넥션 확립응당
  9. TCP에서 시퀀스 번호, 확인응답 번호, RTT의 개념을 이용하여 에러 복구 과정에 대하여 설명하시오. (244~246p)
  10. RTT는 응답 받는 시간이다. 확인 응답번호는 다음에 받고 싶은 데이터의 선두 옥텟 번호. 시퀀스 번호는 보내는 데이터의 잎 부분에 있는 옥텟 번호. 송신 측에서 시퀀스 번호가 딸린 데이터를 보낸다. 수신측은 받으면 다음 받고 싶은 데이터인 확은 응답번호를 데이터 선두로 응답한다. 만약 응답을 RTT 시간 안에 못받으면 송신측은 다시 같은 데이터를 보낸다.
  11. 윈도우 제어에서 윈도우 사이즈의 개념을 설명하고 전송 효율을 높이는 방식에 대해서 설명하시오. (247~249p)
  12. 위에 보내는게 한 세그먼트라고 하면 버퍼량에 따라 세그먼트를 늘려서 연속해서 보낸다. 이 버퍼가 윈도우 사이즈나 처리하기전의 임시 세그먼트 보관소라고 생각하면 편하다.오버플로 하지 않을 정도로 연속으로 보내는게 효율 높이는 방식의 윈도우 제어 이다. 윈도우 사이즈로 상대방에게 자신의 버퍼량을 전달해서 확실하게 수신할 수 있는 사용량의 데이터만 송수신한다.
  13. Well Known Port가 필요한 이유는 무엇인가? (252p)
  14. 1~1023 포트로 자주 사용하는 서버 애플리케이션으로 정해진 포트들이다.
  15. UDP가 고속인 이유는 무엇인가? (258~259p)
  16. 확인 응답을 받지 않는다. 이로 인하여 에러 복구도 할 필요 없고, 보내는 비트도 작고 커넥션 확립도 안한다. 흐름제어도 안한다.
  17. (응용) UDP에서 브로드캐스트는 어떻게 가능한가? (149p, 260p)
  18. 각 네트워크에 브로드케스트 주소가 있다. 거기로 브로드캐스트를 한다.
  19. 사설 IP와 NAT의 개념을 이용하여 글로벌 IP부족을 어떻게 해결했는지 설명하시오. (262~265p)
  20. 네트워크 내에 있는 IP를 새로 할당하고 라우터를 거쳐 갈때 가지고 있는 글로벌 IP를 할당 해주는 식으로 연결 했다.
  21. NAT의 단점에 대해서 설명하고 NAPT에선 이를 어떻게 해결했는지 설명하시오. (266~270p)
  22. 내트워크내에 라우터 밖으로 접속하는 글로벌 IP보다 많을 시에는 최대치 이후에는 접속이 불가능하다. NAPT는 IP 주소에 포트 번호도 추가해서 변환해줬다.
  23. 정적 NAPT가 필요한 이유는 무엇인가? (271p)
  24. NAPT 테이블에 저장되어 있지 않느 것은 LAN 내부에 들어오지 못한다. 그래서 인터넷에 공개 할 수 없어지는데 이것을 정적으로 테이블에 미리 변환을 해서 저장 시켜 주면 된다.
  25. OSI 5, 6, 7계층 각각의 역할에 대해서 간략히 설명하시오. (274~279p)

7계층에서는 네트워크 서비스를 실시

6계층은 데이터 형식을 변환

5계층은 세션을 관리한다.