본문 바로가기

프로그래밍/네트워크

(13)
[Coursera Google] All layer working 이제 모든 계층이 어떻게 작동하는지 모든 단계에서 살펴보자 네트워크 A 주소 공간은 10.1.1.0/24 와 네트워크 B 주소는 192.168.1.0/24 와 네트워크 C 는 172.16.1.0/24 가 있다고 상상해보자 라우터 A는 네트워크 A 와 네트워크 B 사이에 위치하고 네트워크 A 에서 IP 10.1.1.1 로 구성된 인터페이스와 네트워크 B 에서 192.168.1.254 로 구성된 인터페이스, 네트워크 B 와 C 를 연결하는 라우터 B 가 있다. 이제 컴퓨터를 네트워크 중 하나에 연결해보자 유저 클라이언트 한명이 있고 이걸 컴퓨터1 이라 해보자 네트워크 A 의 일부분이고 IP 는 10.1.1.100 을 할당 받았다. 이제 다른 네트워크 중 하나에 다른 컴퓨터를 연결 해 보자 이제 두번째 컴퓨터..
[Coursera Google] The Application Layer 지금까지 컴퓨터가 케이블을 통해 물리 계층에서 통신을 전송하기 위해 전기 또는 광신호를 처리하는 방법과 데이터 링크 계층에서 이더넷을 사용해 서로 데이터를 보내고 서로 어드레스 하는 방법과 컴퓨터와 라우터에 의해 네트워크 계층이 어떻게 IP 를 사용하는 다른 네트워크 간에 통신을 하는지와 전송 계층이 적절한 어플리케이션에 의해 데이터가 수신되고 전송되도록 하는지 알아봤다. 이제 실제 어플리케이션들이 어플리케이션 계층에서 데이터를 어떻게 보내고 받는지에 대해 알아보자 다른 계층들과 마찬가지로 TCP 세그먼트에도 데이터 섹션이 있다. 이 페이로드는 실제 데이터 어플리케이션이 전송하기를 원하는 전체 콘텐츠다. 어플리케이션 계층 프로토콜은 HTTP 다. 모든 웹 브라우저와 웹 서버는 상호 운용성을 보장 하기 위..
[Coursera Google] The Transport Layer - connection , connectionless 지금까지 연결 지향 (connection oriented) 프로토콜인 TCP 에 집중했다. 연결 지향 프로토콜은 연결을 설정하고, 이걸 이용해 데이터가 적절하게 전송 되었는지 확인한다. 이렇게 하면, 연결된 양쪽은 항상 어떤 비트의 데이터가 확실히 전달 되었는지 아닌지를 알 수 있다. A 지점에서 B 지점 으로 데이터를 가져오려고 하는 동안 잘못될 가능성이 있기 때문에 (낮은 레벨에서 비트는 특정 전압 범위 내의 전기 신호일 뿐이라는 것) 연결 중심의 프로토콜이 아주 중요하다. 단 한 비트라도 잘못 전송 되면 전체 프레임을 버리게 할 수가 있다. 또 트래픽이 회선 오류를 넘어 목적지에 도달하지 못할 수도 있다. 라우터가 트래픽 전달을 위해 우리의 트래픽을 떨어뜨릴 수도 있고, 광케이블이 절단 될 수 도 ..
[Coursera Google] The Transport Layer 2 TCP 제어 플래그 네트워크 트래픽이 예상대로 작동하지 않을 수 있는 문제를 해결 할 수 있게 우리는 정확한 작동 방식을 이해하고 있어야한다. TCP 가 연결을 설정하는 방법은 특정한 순서로 사용되는 TCP 제어 플래그를 사용하는 것이다6개의 TCP 제어 플래그를 헤더에 나타나는 순서대로 봐보자 첫번째 flag 는 URG 다 긴급성의 줄임말로 1의 값을 가지면 세그먼트가 긴급하다고 간주를해 긴급 포인터 필드에 이에 대한 데이터가 더 있음을 나타낸다. 두번째는 acknowlege의 줄임말인 ACK 다 필드에 값이 1이면 승인 번호 필드를 검사해야함을 뜻한다. 세번째는 PSH 로 push의 줄임말이다. 데이터를 보내는 장치는 수신 장치에 현재 버퍼링이 된 데이터를 어플리케이션에 가능한 빠르게 넣고 싶어한다...
[Coursera Google] The Transport Layer 전송 계층은 네트워크의 신뢰성 등 중요한 기능들을 담당하고 있다.여기엔 멀티플렉싱 디멀티플렉싱 트래픽, 장시간 실행되는 연결 설정, 오류 확인 및 데이터 검증을 통한 데이터 무결성 보장등 이 포함된다. 목표 멀티플렉싱과 디멀티플렉싱이 뭔지, 어떻게 동작하는지 알기 TCP, UDP 차이 식별 3웨이 핸드쉐이크 이해 TCP 플래그가 어떻게 사용되는지 이해 방화벽이 네트워크를 보호하는 기본 이해 전송 계층은 멀티플렉스 와 디멀티플렉스 기능을 가지고 있는데, 전송 계층에서 전송 계층에서 멀티플렉싱은 네트워크의 노드가 트래픽을 다양한 수신 서비스로 유도할 수 있다는 것을 의미다. 디멀티플렉싱을 수신 쪽에서 동일한 노드에 트래픽을 보내 적절한 수신 서비스를 전달하는것이다 전송계층은 포트를 통해서 멀티플렉싱과 디멀티..
[Coursera Google] The Network Layer - Routing 모든 인터넷 네트워크에 걸쳐 통신이 이루어지는 방법은 라우팅을 통해서다. 목표 라우팅의 기본과 라우팅 테이블의 작동 방식 이해 라우팅 프로토콜의 일부와 프로토콜이 수행하는 작업을 정의 매우 기본적으로는 라우터는 트래픽의 대상 주소에 따라 트래픽을 전달하는 네트워크 장치다. 라우터는 그 두 개의 네트워크에 연결 되어야 하기 때문에 적어도 두 개의 네트워크 인터페이스를 가지고 있는 장치다 기본 라우티의 단계는 이렇다 라우터 인터페이스들 중 하나가 데이터 패킷을 수신한다. 라우터는 이 패킷의 대상 IP를 검사한다. 라우터는 라우팅 테이블에서 이 IP 의 대상 네트워크를 찾는다 라우터는 원격 네트워크에 가장 가까운 인터페이스에 패킷을 포워드 한다. 이 단계들이 목적지에 도달 할 때 까지 반복된다. 두 네트워크에..
[Coursera Google] The Network Layer - Subnetting Subnetting 은 큰 네트워크를 많은 소규모 서브넷으로 분할하는 광정이다. 목표 서브넷이 필요한 이유 서브넷 마스크가 네트워크와 호스트 ID 만으로 가능한 것을 어떻게 확장시키는지 CIDR 기술이 어떻게 일반 서브넷보다 많은 유연성을 제공하는지 클래스 A 의 9 아이피 주소를 IBM 사가 가지고 있다고 했을때 9.100.100.100.100 과 통신하려면 네트워크 ID 를 보고 네트워크를 담당하는 게이트웨이 라우터로 메시지를 라우트한다. 일단 패킷이 9.0.0.0 클래스 A 네트워크를 위한 게이트웨이 라우터에 도달하면, 그 라우터는 이제 호스트 ID 를 보고 데이터를 적절한 시스템으로 가져가야 한다. 하지만 클래스 A 에는 너무 많은 네트워크 장치들이 있다. 그래서 여기서 서브넷팅이 이루어 진다. ..
[Coursera Google] The Network Layer LAN 에서 노드는 MAC 주소를 통해 서로 통신을 할 수 있다. 스위치가 서로 연결 된 MAC 주소를 알고 있어 전송을 적절하게 전달 할 수 있기 때문이다. 하지만, 특정 MAC 주소가 어느 시점에 어느 위치에 있는지 알 수 있는 방법이 없기 때문에 장거리 네트워크에서는 이상적인 방법이 아니다. 그래서 필요한게 네트워크 계층이다. 네트워크 계층과 함께 오는 IP 를 알아보자 목표 IP 주소를 식별 할 수 있다. 이더넷 프레임의 페이로드 내부에 IP 데이터그램이 캡슐화 된 방법을 알 수 있다. IP 데이터그램의 필드를 설명 할 수 있다. IP 주소는 4개의 octets 으로 구성된 32 비트 길이의 숫자다. 각 octets 은 십진수로 설명이 되고 8비트 데이터는 0부터 255 까지의 숫자를 나타낸다. ..