728x90

전체 글 374

[컴퓨터망] Electronic Mail: SMTP, POP, IMAP and MIME

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Architecture 이메일의 아키텍처를 설명하기 위해, 우리는 네 가지 시나리오를 제공한다. 우리는 가장 간단한 상황부터 시작해서 진행하면서 복잡성을 더한다. 네 번째 시나리오는 이메일 교환에서 가장 흔하다. First Scenario Second Scenario Third Scenario Fourth Scenario 같은 LAN에 물려있어서 network를 통하지 않고도 mail을 전송할 수 있다. e-mail의 발신인과 수신자가 동일한 메일 서버에 있는 경우 두 명의 사용자 에이전트만 있으면 된다. 공유 메일 서버에 직..

[백준/BOJ] gold3 - 2143번 두 배열의 합 (Python)

▶2143 - 두 배열의 합 ▶문제 한 배열 A[1], A[2], …, A[n]에 대해서, 부 배열은 A[i], A[i+1], …, A[j-1], A[j] (단, 1 ≤ i ≤ j ≤ n)을 말한다. 이러한 부 배열의 합은 A[i]+…+A[j]를 의미한다. 각 원소가 정수인 두 배열 A[1], …, A[n]과 B[1], …, B[m]이 주어졌을 때, A의 부 배열의 합에 B의 부 배열의 합을 더해서 T가 되는 모든 부 배열 쌍의 개수를 구하는 프로그램을 작성하시오. 예를 들어 A = {1, 3, 1, 2}, B = {1, 3, 2}, T=5인 경우, 부 배열 쌍의 개수는 다음의 7가지 경우가 있다. T(=5) = A[1] + B[1] + B[2] = A[1] + A[2] + B[1] = A[2] + B[..

BOJ Code/Gold 2022.07.10

[컴퓨터망] World Wide Web (service) and HTTP (Protocol)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Architecture WWW는 브라우저를 사용하는 client가 server를 사용하여 서비스에 액세스 할 수 있는 분산 client-server 서비스다. 그러나 제공되는 서비스는 사이트라고 불리는 여러 곳에 분산되어 있다. 각 사이트에는 웹 페이지라고 하는 하나 이상의 문서가 있다. 그러나 각 웹 페이지에는 동일하거나 다른 사이트에 있는 다른 웹 페이지에 대한 일부 링크가 포함될 수 있다. 즉, 웹 페이지는 단순하거나 복합적일 수 있다. page를 다운로드하는 것이다. 그림과 같이 단일 request/response 트랜..

[컴퓨터망] File Transfer: FTP and TFTP

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶FTP FTP(File Transfer Protocol)는 한 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP에서 제공하는 표준 메커니즘이다. 한 시스템에서 다른 시스템으로 파일을 전송하는 것은 간단하고 간단해 보이지만 일부 문제는 먼저 해결해야 한다. 예를 들어 두 시스템에서 서로 다른 파일 이름 규칙을 사용할 수 있다. 두 시스템은 텍스트와 데이터를 나타내는 다른 방법을 가질 수 있다. 두 시스템은 서로 다른 디렉터리 구조를 가질 수 있다. 이 모든 문제들은 FTP에 의해 해결되었다. FTP는 TCP 서비스를 사..

[컴퓨터망] Remote Login: TELNET(원격) and SSH

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Telnet TELNET은 TERminal Network의 약자이다. ISO가 제안한 가상 터미널 서비스를 위한 표준 TCP/IP 프로토콜이다. TELNET을 사용하면 로컬 터미널이 원격 시스템의 터미널처럼 보이도록 원격 시스템에 연결할 수 있다. TELNET은 범용 client-server application 프로그램이다. 사용자가 원격 시스템에 있는 응용 프로그램이나 유틸리티에 액세스하려는 경우 원격 로그인을 수행한다. 여기서 TELNET client 및 server 프로그램이 사용된다. LINUX나 window처럼 다 ..

[컴퓨터망] Domain Name System (DNS)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Need for DNS 엔티티를 식별하기 위해 TCP/IP 프로토콜은 인터넷으로의 호스트 연결을 고유하게 식별하는 IP 주소를 사용한다. 그러나 사람들은 숫자 주소 대신 이름을 사용하는 것을 선호한다. 따라서 우리는 주소에 이름을 매핑하거나 이름에 주소를 매핑할 수 있는 시스템이 필요하다. User가 Host name을 FIle transfer client에 전달. FTC는 DNS client로 Host name을 전달. DNS client는 DNS server IP 주소를 사용해 Query와 함께 메시지를 DNS server..

[컴퓨터망] Host Configuration: DHCP

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. 이 파트부터는 스스로 설명할 수 있게 공부해야 한다. 특히 동작하는 방식을 이해하는 것이 중요하다. ▶Introduction TCP/IP 프로토콜 제품군을 사용하는 각 컴퓨터는 해당 IP 주소를 알아야 한다. 컴퓨터가 classless addressing을 사용하거나 subnet의 구성원인 경우 subnet mask도 알아야 한다. 오늘날 대부분의 컴퓨터에는 두 가지 다른 정보가 필요하다. 다른 네트워크와 통신할 수 있는 기본 router의 주소 주소 대신 이름을 사용할 수 있는 name server의 주소 즉, 보통 네 가지 ..

[컴퓨터망] Application Layer

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Client-server Paradigm 네트워크 또는 internetwork의 목적은 사용자에게 서비스를 제공하는 것이다. 로컬 사이트의 사용자는 원격 사이트의 컴퓨터에서 서비스를 받기를 원한다. 이 목적을 달성하기 위해서 두 개의 프로그램을 실행한다. 로컬 컴퓨터는 원격 컴퓨터에서 서비스를 요청하기 위해 프로그램을 실행한다. 원격 컴퓨터는 요청한 프로그램에 서비스를 제공하기 위해 프로그램을 실행한다. 이것은 인터넷으로 연결된 두 대의 컴퓨터가 각각 서비스를 제공하기 위해 그리고 서비스를 요청하기 위해 각각 프로그램을 실행해..

[컴퓨터망] Stream Control Transmission Protocol (SCTP)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Introduction SCTP(Stream Control Transmission Protocol)는 신뢰할 수 있는 새로운 메시지 지향 transport layer protocol이다. 아래 그림은 인터넷 프로토콜 스위트의 다른 프로토콜에 대한 SCTP의 관계를 보여준다. SCTP는 application layer와 network layer 사이에 위치하며 애플리케이션 프로그램과 네트워크 운영 사이의 중개자 역할을 한다. SCTP는 UDP와 TCP의 최상의 기능을 결합한 메시지 지향적이고 신뢰할 수 있는 프로토콜이다. 사업장..

[백준/BOJ] gold4 - 1987번 알파벳 (Python)

▶1987 - 알파벳 ▶문제 세로 R 칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. ▶입력 첫째 줄에 R과 C가 빈칸을 사이에 두고 주어진다. (1 ≤ R, C ≤ 20) 둘째 줄부터 R개의 줄에 걸쳐서 보드에 적혀 있는 C개의 대문자 알파벳들..

BOJ Code/Gold 2022.07.09

[백준/BOJ] gold1 - 7620번 편집 거리 (Python) / 메모리 초과

▶7620 - 편집 거리 ▶문제 문자열이 주어졌을 때, 이 문자열을 다른 문자열로 바꾸는 편집 스크립트를 작성하려고 한다. 편집 스크립트에서 사용할 수 있는 명령은 아래와 같이 총 네 가지가 있다. 추가 ('a'): 한 글자를 출력한다. 이 명령은 입력 문자열을 건드리지 않는다. 삭제 ('d'): 한 글자를 삭제한다. 이 명령은 입력 문자열에서 맨 앞 글자를 삭제하고, 아무것도 출력하지 않는다. 수정 ('m'): 한 글자를 수정한다. 즉, 입력 문자열에서 맨 앞 글자를 삭제하고, 바꾼 글자를 출력한다. 복사 ('c'): 한 글자를 복사한다. 입력에서 맨 앞 글자를 삭제하고, 삭제한 그 글자를 출력한다. 가장 짧은 편집 스크립트란, 추가, 삭제, 수정을 가장 적게 사용한 스크립트이다. 두 문자열이 주어졌을..

BOJ Code/Gold 2022.07.08

[백준/BOJ] gold4 - 2239번 스도쿠 (Python)

▶2239 - 스도쿠 ▶문제 스도쿠는 매우 간단한 숫자 퍼즐이다. 9 × 9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3 × 3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다음을 보자. 위 그림은 참 잘도 스도쿠 퍼즐을 푼 경우이다. 각 행에 1부터 9까지의 숫자가 중복 없이 나오고, 각 열에 1부터 9까지의 숫자가 중복 없이 나오고, 각 3 × 3짜리 사각형(9개이며, 위에서 색깔로 표시되었다)에 1부터 9까지의 숫자가 중복 없이 나오기 때문이다. 하다 만 스도쿠 퍼즐이 주어졌을 때, 마저 끝내는 프로그램을 작성하시오. ▶입력 9개의 줄에 9개의 숫자로 보드가 입력된다. 아직 숫자가 채워지지 않은 칸에는 0이 주어진다. ▶출력 9개의 줄에..

BOJ Code/Gold 2022.07.07

[백준/BOJ] gold4 - 1197번 최소 스패닝 트리 (Python)

▶1197 - 최소 스패닝 트리 ▶문제 그래프가 주어졌을 때, 그 그래프의 최소 스패닝 트리를 구하는 프로그램을 작성하시오. 최소 스패닝 트리는, 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리를 말한다. ▶입력 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 가중치 C인 간선으로 연결되어 있다는 의미이다. C는 음수일 수도 있으며, 절댓값이 1,000,000을 넘지 않는다. 그래프의 정점은 1번부터 V번까지 번호가 매겨져 있고, 임의의 두 정점 사이에 경로가 있다. 최소 스패닝 ..

BOJ Code/Gold 2022.07.06

[컴퓨터망] Transmission Control Protocol (TCP)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶TCP Services 아래 그림은 TCP/IP 프로토콜 스위트의 다른 프로토콜에 대한 TCP의 관계를 보여준다. TCP는 application layer과 network layer 사이에 위치한다. application programs과 network 작업 사이의 중개자 역할을 한다. ▶Topics Discussed in the Section Process-to-Process Communication Stream Delivery Service 여러 데이터의 연속적인 데이터(흐름)를 보낸다. UDP는 이런 기능이 없다. Ful..

[컴퓨터망] User Datagram Protocol (UDP)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Introduction 아래 그림은 TCP/IP protocol 스위트의 다른 protocol과 계층에 대한 user datagram protocol(UDP)의 관계를 보여준다. UDP는 애플리케이션 계층과 IP 계층 사이에 위치하며 애플리케이션 프로그램과 네트워크 운영 사이의 중개 역할을 한다. ▶User datagram user datagram이라고 불리는 UDP 패킷은 8Byte의 고정 크기 헤더를 가지고 있다. 아래 그림은 user datagram의 형식을 보여준다. IP address : 4Byte (32bit) Po..

[컴퓨터망] Transport Layer

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Process-to-process communications (end to end) Notes host-to-host communication process-to-process communication Port numbers & Socket Addresses port num : process (service) 식별 (서버의 port number) 13 : well-known 52000 : well-known (X), 임시적인 port number Port number : 그 위에 특정 process 지칭 IP address :..

[컴퓨터망] Multicasting And Multicast Routing Protocols

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Introduction datagram forwarding이 일반적으로 datagram에서 destination address의 접두사를 기반으로 한다. Address aggregation 메커니즘은 여러 개의 datagram을 결합하여 ISP에 전달된 다음 그것들을 분리하여 최종 destination 네트워크로 전달할 수 있지만, 원칙은 변경되지 않는다. 위의 forwarding 원리를 이해하면, 우리는 이제 unicasting, multicasting, and broadcasting를 정의할 수 있다. unicasting에..

[컴퓨터망] Unicast RoutingProtocols

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. unicast routing protocol은 일대일이다. host의 개입이 없다. multicast는 선택된 애들을 사용하는 일대다이다. broadcast는 일대모두이다. ▶Introduction 인터넷은 router로 연결된 네트워크의 조합이다. datagram이 source에서 destination으로 갈 때, 그것은 아마도 destination 네트워크에 연결된 router에 도달할 때까지 많은 router를 통과할 것이다. ▶Inter- and Intra-Domain Routing 오늘날 인터넷은 너무 커서 하나의 ro..

[컴퓨터망] Mobile IP

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Addressing IP protocol을 사용하여 mobile communication을 제공하는 데 있어 해결해야 할 주요 문제는 addressing이다. ▶Topics Discussed in the Section Stationary Host Mobile Host 대구에서 서울로 이동할 수도 있다. packet 주인공에게 제대로 전달해야 한다. IP address는 address의 일부가 host가 연결된 네트워크를 정의하기 때문에 고정 host와 함께 작동하도록 설계되었다. 노트북 주인(131.5...)이 서울(14.....

[컴퓨터망] Internet Control Message Protocol Version4 (ICMPv4)

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶Introduction IP protocol에는 오류 보고 또는 오류 수정 메커니즘이 없다. 뭔가 잘못되면 어떻게 되나요? 최종 목적지로 가는 router를 찾을 수 없거나 time-to-live 필드에 0 값이 있어서 router가 datagram을 폐기해야 하는 경우 어떻게 됩니까? source에서 packet을 전송하다가 더 이상 진행할 수 없는 오류가 발생하였을 때 source로 돌려보낸다. IP header에는 source의 주소가 담겨 있으므로 source로 전송할 수 있도록 설정하여 보낸다. ICMP message에..

728x90