【转载】[基础知识]【网络编程】TCP/IP
转自http://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=27043
胖友们楼主我又来发帖了……(最近无时不刻感受到身上穷得叮当响而且还感觉什么都不会当然这是不相干的内容哎)
今天晚上楼主刚学了一下TCP/IP协议。特来分享。
TCP/IP一般有4 Layers.
1. Application Layer
包括有HTTP(Hypertext Transfer Protocol), FTP(File Transfer Protocol),
SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management
Protocol)等协议传输数据到Transport Layer。
2. Transport Layer
通常就是TCP和UDP了。
TCP可靠,会完整地传输数据,不会损失一分一毫。就是把数据分割成一个个小包,每次确保送到,发现没送到就重送。
UDP不可靠,有可能会丢包。
3. Network Layer
最常见的就是IP(Internet Protocol)了,负责在网络上传输数据的一层。
4. Data Link Layer
会涉及到device drivers in the OS and the network interface card attached to the system。
貌似和OS相关。楼主懵逼躺枪。
但楼主大概明白,从我们在浏览器里输入某个IP地址,到我们得到网页的内容,之间发生了什么。
就是这个样子的:

箭头正着来一遍。
再反着来一遍。
再来科普一下Socket是啥 = =。
所谓Socket,就是串口(Port)+对应的IP地址。
Client的(Port+IP) + Server的(Port+IP)组成一个four tuple, 就成了一个connection。
原文如下:
On a particular machine, a port number
coupled with the IP address of the machine is known as a socket. A
combination of IP and port on both client and server is known as four
tuple. This four tuple uniquely identifies a connection. In this section
we will discuss how port numbers are chosen.
嗯楼主大概梳理了一下。嗯感觉清晰多了。
(虽然貌似很多技术细节还是一脸懵逼。 = =。)
扩展阅读:
http://www.thegeekstuff.com/2011/11/tcp-ip-fundamentals
http://www.csd.uoc.gr/~hy556/material/tutorials/cs556-3rd-tutorial.pdf
https://www.saylor.org/site/wp-content/uploads/2012/02/Computer-Networking-Principles-Bonaventure-1-30-31-OTC1.pdf
【转载】[基础知识]【网络编程】TCP/IP的更多相关文章
- Socket网络编程(TCP/IP/端口/类)和实例
Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次 ...
- 网络编程TCP/IP详解
网络编程TCP/IP详解 1. 网络通信 中继器:信号放大器 集线器(hub):是中继器的一种形式,区别在于集线器能够提供多端口服务,多口中继器,每个数据包的发送都是以广播的形式进行的,容易阻塞网络. ...
- JAVA基础知识之网络编程——-TCP/IP协议,socket通信,服务器客户端通信demo
OSI模型分层 OSI模型是指国际标准化组织(ISO)提出的开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它将网络分为七 ...
- 网络编程TCP/IP实现客户端与客户端聊天
一.TCP/IP协议 既然是网络编程,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输.这里就要使用到TCP/IP协议. TCP/I ...
- java基础知识——网络编程、IO流
IO流 字节流:处理字节数据的流对象,计算机中最小数据单元就是字节.InputStream OutputStream 字符流:字符编码问题,将字节流和编码表封装成对象就是字符流.Reader Writ ...
- python 网络编程 TCP/IP socket UDP
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...
- 五十三 网络编程 TCP/IP简介
虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Microsoft都有各自的 ...
- Python中的socket网络编程(TCP/IP,UDP)讲解
在网络编程中的一个基本组件就是套接字(socket).套接字基本上是两个端点的程序之间的"信息通道".程序可能分布在不同的计算机上,通过套接字互相发送信息.套接字包括两个:服务器套 ...
- C#基础知识之图解TCP IP》读书笔记
一.网络基础知识 1. 计算机使用模式的演变 2.协议 协议就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”.这种“约定”使那些由不同厂商的设备.不同的CPU以及不同的操作系统组成的计算机 ...
- UNIX网络编程——TCP/IP简介
一.ISO/OSI参考模型 OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardi ...
随机推荐
- if_while
import random secret=random.randint(1,10) tmp=input("请输入一个数") guess=int(tmp) while guess!= ...
- unity学习 5.x解包
using System.Collections;using System.Collections.Generic;using UnityEngine; public class bundleload ...
- 886C. Petya and Catacombs#墓室探险(set集合)
题目出处:http://codeforces.com/problemset/problem/886/C 题目大意:很多墓穴之间有通道,探险家来回穿梭并记录日志 日志规则:第一次到该墓穴计时间t,0&l ...
- Utf8BomRemover
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler ...
- mysql创建视图和存储过程,变量
创建视图 sql>create view 视图名 as select语句; 修改视图并添加别名 sql>create or replace view empvu10 (employee_n ...
- Dcoker 部署Tomcat+redis+war
1.首先安装redis docker run –name my-redis -d redis 2.安装tomcat并启动 docker run -p 8383:8383 –name tomcat -v ...
- 吴裕雄--天生自然python Google深度学习框架:MNIST数字识别问题
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ...
- GSON转换成Long型变为科学计数法及时间格式转换异常的解决方案
直接上工具类了,简单实用 public class GsonUtils { private static Gson gson = null; static { if (gson == null) { ...
- vue 起步(一)
准备 安装nodejs(下载),Windows 安装包(.msi) npm相关 打开cmd查看npm版本, npm -v,如果没有安装npm,执行npm install npm -g进行安装 查询当前 ...
- Number of Digit One(Medium)
1.算法说明: 如3141592,在m(digitDivide)=100时,即要求计算百位上"1"的个数 其中a为31415,b为92,31415中出现了3142次"1& ...