영상 스트리밍 서비스를 제작한다면 UDP를 사용할 것 같습니다. 영상 스트리밍은 실시간으로 빠르게 데이터를 송신하는 것이 중요한데 TCP를 사용한다면 패킷 재전송등의 매커니즘으로 지연될 수 있기 때문입니다.
TCP의 전송 제어 기법에는 크게 3가지가 있습니다. 전송되는 데이터의 양을 조절하는 흐름제어, 데이터가 유실되거나 잘못된 데이터가 수신되었을 경우 대처하는 방법인 오류제어, 네트워크 혼잡에 대처하는 혼잡 제어가 있습니다.
각각 클라이언트와 서버에서 작동한다고 가정할 때 3-way-handshake는 클라이언트가 서버에 SYN 패킷을 보내고 서버는 SYN을 받고 ACK와 함께 자신의 SYN을 보내고 이를 받은 클라이언트는 서버에게 다시 ACK를 보내고 연결이 된다.
4-way-handshake는 세셔을 종료하기위해 수행되는 절차로 종료하겠다는 FIN 플래그를 보내고 이를 받은 서버는 다시 확인 ACK를 보낸다. 이후 CLOSE 준비가 다 된 후 server는 Client에게 FIN 플래그를 전송한다. 클라이언트는 이후 해지 준비가 되었다는 정상응답인 ACK를 서버에게 보내준다. 둘의 차이점은 전자는 연결 설정을 시작하는 SYN과 ACK가 함께 이루어지지만 후자는 연결 종료를 위해 FIN과 ACK가 따로 교환된다.
TCP Timeout은 패킷이 손실되거나 지연 될 경우를 대비해 설정되는 시간제한이다. Timeout을 설정하지 않을 경우 패킷 손실 감지의 어려움과 무한 대기의 가능성이 있을 수 있음으로 적절한 Timeout 시간을 설정하는 것이 중요하다.
TCP와 UDP는 데이터 전송 메커니즘에서 신뢰성의 차이점이 발생한다. TCP는 데이터의 순서를 보장하고 재전송 메커니즘을 통해 데이터의 손실을 최소화하지만 UDP는 신속한 데이터의 중점에 두며 데이터의 손실을 보장하지 않기 때문에 신뢰성 중심에서 본다면 TCP를 사용해야 한다.
먼저 브라우저 캐쉬를 확인한다. 이후 host파일과 캐쉬를 확인하고 저장된 IP가 없다면 LOCAL DNS 서버에 도메인 주소를 요청한다. Root DNS NS와 TLD NS, SLD NS에서 각각 쿼리를 통해 루트 도메인, TLD, SLD의 도메인을 얻어 도메인 이름에 대한 IP 주소를 가져와 응답한다. 사용자의 DNS 서버는 받은 IP 주소를 캐시하고 사용자의 컴퓨터로 보낸다. 이후 네이버 서버에 접속한다.
DNS에는 Root DNS, TLD, SLD, SubDomain(권한이 있는 도메인 서버)가 있으며 각각 루트도메인, .com과 같은 상위 도메인, naver, daum과 같은 second level domain 그리고 클라이언트 서버에서 다른 서버와 연결시켜주는 DNS 서버 권한을 가진 네임서버가 있다.
DNS는 단순한 조회, 응답 형태의 작업임으로 데이터의 크기가 작아 빠르게 작업할 수 있는 UDP를 사용한다. 만약 오류가 발생하더라도 재전송을 통해 빠른 처리가 가능하고 서버간 빠른 응답시간을 가질 수 있다.
1개의 도메인으로 생성되어있는 그룹웨어에 다른 도메인을 연결시켜 통합 운영을 할 수 있는 멀티 도메인의 관점에서 가장 차상위에 있는 네이버가 administration center로 역할을 하며 중앙 집중화된 trust management scheme를 형성한다. 그렇기에 네이버에서의 단일 로그인 환경을 구성할 수 잇고 신뢰가능한 엔터프라이즈 환경을 통해 안전하게 데이터 및 서비스를 공유하게 될 수 있다.
DNS ROUND ROBIN은 부하 분산을 위한 간단한 방식 중 하나로, DNS를 활용한 로드 밸런싱 기능으로 볼 수 있다. 웹사이트에 접속하는 다수의 사용자를 복수의 웹 서버에 나뉘어 접속하게 하는 기능을 말한다.
각 계층(응용,표현,세션,전송,네트워크데이터링크,물리)의 통신 프로토콜 특성을 포함한 정보를 Header만 포함시켜서 하위 계층으로 전송하면 물리계층간의 통신을 통해 해당 계층을 역으로 올라가 다른 컴퓨터로 전송된다.
OSI 7계층은 네트워크 통신을 표준화한 모델로, 통신 시스템을 7단계로 나누어 설명한 것을 말한다. 하지만 OSI 모델이 실무적으로 이용하기에 복잡한 탓에 실제 인터넷에서는 응용, 표현, 세션을 합쳐 이를 단순화한 TCP/IP 4계층이 사용된다.
네트워크 계층은 라우팅과 IP 주소 관리를 하고 최적의 경로를 찾아주는 역할을 한다. 전송 계층은 두 네트워크 간의 전송을 담당한다. 이에 해당하는 프로토콜로는 UDP와 TCP가 있다. 쉽게 해석하자면 전송 계층은 목적지를 설정하고 교통편을 정하는 것이고 네트워크 계층은 네비게이션 기능을 하는 것이라고 알 수 있다.
응용 : HTTP, 표현 : SSH, 세션 : web socekt, 전송 : UDP, 네트워크 : IP, 데이터링크 : 이더넷, 물리계층 : 랜선
방화벽은 주로 네트워크 계층과 전송 계층에서 작동한다. 트래픽을 분석하고 보안 정책을 적용하고 네트워크 보호를 위한 역할을 수행한다.