最近研究端口数据,稍微总结一下,以后继续补充:

OSI

开辟系统互连参考模型(OSI,Open System Interconnection)

  1. 物理层:bit流,有计算机和网络介质组成,负责将数据编码成比特流,并以此方式在网上传输
  2. 数据链路层:负责准备物理层传输,修正传输中的错误,将数据封装成帧(Frame)等
  3. 网络层:管理网络地址,选择路由,定义数据封包(Packet)等
  4. 传输层:将上层数据分段(Segment),供给端到端的传输,供给服务质量(QoS)等
  5. 会话层:建立,管理,终止会话等
  6. 表示层:将网络传输的内容转换为用户有意义的编码
  7. 应用层:为操作系统或网络应用程序供给访问网络服务的接口

TCP/IP

TCP/IP协议从名称上看包括传输控制协议(TCP)和因特网协议(IP)两个协议。实际上,TCP/IP由很多协议组成,是Internet协议族,TCP和IP是其中两个最主要的协议。

IP

因特网协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP供给分组发送服务。用户进程平日不需要涉及这一层。

对数据分组停止无连接的最佳传送路由选择(即供给全网范围的寻址功能)

ARP

地址解析协议(Address Resolution Protocol)此协议将网络地址映射到硬件地址。

为已知的IP地址肯定网络接口层的MAC地址;

RARP

反向地址解析协议(Reverse Address Resolution Protocol)此协议将硬件地址映射到网络地址。

为已知的网络接口层MAC地址肯定对应的IP地址。

ICMP

网间报文控制协议(Internet Control Message Protocol)此协议处理信关和主机的差错和传送控制。

供给控制和传递消息的功能(但通信时需用IP封装)

   

TCP

传送控制协议(Transmission Control Protocol)这是一种供给给用户进程的牢靠的全双工字节流面向连接的协议。它要为用户进程供给虚电路服务,并为数据牢靠传输建立检查。(注:大多数网络用户程序应用TCP)

UDP

用户数据报协议(User Datagram Protocol)这是供给给用户进程的无连接协议,用于传送数据而不执行正确性检查。

   

FTP

文件传输协议(File Transfer Protocol)允许用户以文件操作的方式(文件的增、删、改、查、传送等)与另外一主机相互通信。

SMTP

简单邮件传送协议(Simple Mail Transfer Protocol)SMTP协议为系统之间传送电子邮件。

Telnet

终端协议(Telnet Terminal Procotol)允许用户以虚终端方式访问远程主机

HTTP

超文本传输协议(Hypertext Transfer Procotol)

TFTP

简单文件传输协议(Trivial File Transfer Protocol)

在TCP/IP模式中,因特网协议(IP)的主要任务是将数据分割成很多较小的封包(Packet),并且将这些包发送出去。IP属于无连接的通信协议,不能保证每一个封包都正确无误地达到目的地。至于封包以何种方式传递,能否正确达到目的地,则由上次协议(TCP或UDP)负责。

编程接口等于套接字,是应用层到传输层的接口。套接字作为应用层与传输层的接口,是因为应用层拥有以下几个方面的特点:

(1)应用层处理应用程序的细节,而不必知道通信细节。TCP/IP模型中应用层上面的3层不必知道应用程序的细节,但能处理所有通信细节

(2)平日应用程序构成用户进程,而TCP/IP模型中上面3层平日作为操作系统内核的一部分。

客户端与服务端之间是有TCP/IP停止通信如上图所示。传输层的通信是有的协议为TCP,网络层是有的协议为IP。客户端与服务器之间的数据在一端时从用户进程到内核,在另外一端则是从内核到用户进程。套接字在应用层到内核之间和从内核懂爱应用层之间承当接口的角色。

UDP

UDP是User Datagram Protocol的缩写,是一种无连接的传输层协议,供给不牢靠信息传输服务。UDP拥有以下特点

  1. 供给无连接服务。客户端向服务器发送数据时不必先建立连接。客户端创立一个套接字并向服务器发送一个数据报,然后客户端可以立即用这个套接字向另外一个服务器发送其他数据
  2. 不能确保UDP数据报终究达到目的地。UDP对接受的数据报不发送确认,发送端不知道是否被正确接收,也不会重发数据。
  3. UDP传输数据较TCP快,占用系统资源少

TCP

TCP是Transmission Control Protocol的缩写,是一种面向连接的,牢靠的,基于字节流的传输层通信协议。该协议在主机间建立一个虚拟连接,以实现牢靠的数据通信。因特网协议(IP)不能保证数据包精确发送给目标主机,而TCP不同。发送数据时,TCP要求对方在连接数据后返回一个确认。如果在某个时限内TCP没有接收到对方的确认,那么TCP将重新发送数据包。在连接数据的一方,如果接收到无序的数据包,TCP还将负责数据包的重新排序。TCP拥有以下特点:

  1. 供给面向连接的服务。客户端与服务器通信时,必须首先建立连接
  2. 供给牢靠的服务。当TCP向对方发送数据时,要求对方返回一个确认。如果没有接收到对方的确认,则TCP自动重传数据
  3. TCP对发送的数据停止排序,为每一个发送字节关联一个序列号。对方根据接收到的数据序列号,对接收数据排序,从而保证了数据次序
  4. TCP供给流量控制。TCP总是告诉对方它可以接收数据的字节数
  5. TCP连接是全双工的。这意味着应用程序在任何时候,既可发送数据也可接收数据

三次握手

建立一个TCP连接,需要经过一些几个步调

  1. 服务器准备接收客户端的连接
  2. 客户端向服务器发送连接请求。此时客户端TCP发送一个SYN分节
  3. 服务器确认客户端的SYN(同步),同时也发送一个SYN分节。服务器以单个分节向客户端发送SYN和客户端SYN的ACK(确认)
  4. 客户端确认服务器的SYN
每日一道理
微笑着,去唱生活的歌谣,不要埋怨生活给予了太多的磨难,不必抱怨生命中有太多的曲折。大海如果失去了巨浪的翻滚,就会失去雄浑;沙漠如果失去了飞沙的狂舞,就会失去壮观。人生如果仅去求得两点一线的一帆风顺,生命也就失去了存在的意义。

由于在建立连接时最少需要交换3个分组,所以称为TCP的三次握手

TCP终止连接

TCP用3个分节建立连接,用4个分节终止连接,具体如下

  1. 连接中的一方首先执行了关闭,该方被称为执行了一个自动关闭。该发送方的TCP向对方发送一个FIN(结束)分节,表示发送数据完毕
  2. 接收方接收到FIN,执行被动关闭。接收方TCP向发送方发送一ACK
  3. 接收方也执行关闭。这导致接收方的TCP也发送一个FIN
  4. 原发送方接收到接收方的FIN后,他的TCP也返回一个ACK

因为每一个方向都需要发送一个FIN和返回一个ACK,所以关闭连接时一般需要4个分节。但也不消除步调(2)和步调(3)的ACK与FIN合成一个分节的情况。

端口

MAC地址

也叫物理地址。网卡的物理地址是由网卡生产厂家烧如网卡的EPROM,是全球唯一的48比特的整数,并以机器可读的方式存入主机借口中。Cmd>ipconfig/all  ,Plysical Address的这一行,其后所表现的地址即为该设备的MAC地址。

每一个网络设备(网卡,路由器)都有自己的物理地址(MAC地址),这是全球唯一的,可以保证不同网络设备间的精确通信。

介质访问控制(Media Access Control)地址一般位于网卡中,用于标识网络设备,控制对网络介质的访问。例如,网络设备要访问传输电缆(网线,位于物理层),必须具有一个MAC地址,发送的数据要达到目的地,必须知道目的地的MAC地址。因为一个网卡拥有唯一的MAC地址,所以又叫做物理地址。

端口

在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要分析的就是逻辑意义上的端口。

查看端口: cmd->netstat -a -n,查看TCP和UDP链接的端口号及状态 
关闭端口:如关闭SMTP服务的25端口,可以这样做:首先打开“控制面板”,双击“管理工具”,再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“肯定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。
开启端口:如果要开启该端口只要先在“启动类型”选择“自动”,单击“肯定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮即可启用该端口,最后,单击“肯定”按钮即可。

端口分类:逻辑意义上的端口有多种分类标准,上面将分析两种罕见的分类:
1. 按端口号分布划分
(1)知名端口(Well-Known Ports)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般牢固分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
(2)动态端口(Dynamic Ports)
动态端口的范围从1024到65535,这些端口号一般不牢固分配给某个服务,也就是说很多服务都可以应用这些端口。只要运行的程序向系统提出访问网络的请求,那么系统就可以从这些端口号中分配一个供该程序应用。比如1024端口就是分配给第一个向系统发出请求的程序。在关闭程序进程后,就会释放所占用的端口号。
不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。

文章结束给大家分享下程序员的一些笑话语录: 面试官:熟悉哪种语言
应聘者:JAVA
面试官:知道什么叫类么
应聘者:我这人实在,工作努力,不知道什么叫累
面试官:知道什么是包?
应聘者:我这人实在 平常不带包 也不用公司准备了
面试官:知道什么是接口吗?
应聘者:我这个人工作认真。从来不找借口偷懒
面试官:知道什么是继承么
应聘者:我是孤儿没什么可以继承的
面试官:知道什么叫对象么?
应聘者:知道,不过我工作努力,上进心强,暂时还没有打算找对象。
面试官:知道多态么?
应聘者:知道,我很保守的。我认为让心爱的女人为了自已一时的快乐去堕胎是不道德的行为!请问这和C#有什么关系??

转载于:https://www.cnblogs.com/jiangu66/archive/2013/05/21/3091864.html

端口数据[精通WindowsSocket网络开发-基于VC++实现]第二章——TCP/IP简介相关推荐

  1. 《精通Windows Sockets网络开发--基于Visual C++实现》.(孙海民).[PDF]ckook

    图书作者: 孙海民 图书编号: 9787115179111 图书格式: PDF 出 版 社: 人民邮电出版社 出版年份: 2008 图书页数: 400-500 [内容简介] windows socke ...

  2. 网络技术入门 :HTTP报文和TCP/IP数据包

    本章把HTTP报文和TCP/IP数据包放在一起.是因为: 报文是一个完成的有意义的数据. 数据包可以理解为组成报文的传输单元. 应用程序的数据一般都比较大,因此TCP会按照网络包的大小对数据进行拆分. ...

  3. 【正点原子FPGA连载】第二章 实验平台简介 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  4. 【正点原子FPGA连载】第二章 实验平台简介 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  5. 【正点原子FPGA连载】 第二章 实验平台简介 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  6. 《精通Spring4.X企业应用开发实战》读后感第二章

    一.配置Maven\tomcat https://www.cnblogs.com/Miracle-Maker/articles/6476687.html https://www.cnblogs.com ...

  7. 网络参考模型(OSI七层模型、TCP/IP五层和四层模型)

    目录 一.简介 二.相关概念 三.名词解释 3.1.IP 3.2.TCP 3.3.UDP 3.4.ICMP 3.5.通讯端口 3.6.数据格式 3.7.IPV4与IPV6 四.网络参考模型 4.1.O ...

  8. 网络中的七层协议与TCP/IP五层模型

    socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程 ...

  9. 【教女朋友学网络系列1】之OSI与TCP/IP

    关于OSI模型与TCP/IP模型 序言 一.分层思想 二.OSI七层参考模型 三.OSI模型 VS TCP/IP模型 四.TCP/IP协议族 1.组成 2.三种协议族 五.端口号 1.类别 六.数据封 ...

最新文章

  1. python opencv打开摄像头
  2. 华为SDSec分为几层
  3. Ubuntu中设置静态IP和DNS
  4. 【转】UNITY中相机空间,投影空间的正向问题
  5. java双层for循环
  6. springboot超详细教程_CG原画插画教程:超详细线稿教程
  7. agx 安装ros opencv_(五)树莓派3开发环境搭建——5.Android手机端与robot端ROS网络通信...
  8. java web程序设计教程范立锋 最后的图书馆理系统_JavaWeb程序设计 习题参考答案(第7章)...
  9. Python知识点入门笔记——特色数据类型(字典)
  10. websocket动态添加广播路径_数据可视化WebSocket实现聊聊我的实现思路
  11. paip.python错误解决5
  12. UFS Power Management 介绍
  13. [程序人生]--深度思考比勤奋更重要
  14. 普渡大学计算机专业全美排名,美国普渡大学排名
  15. 基于单片机的自行车码表设计
  16. 疯狂动物城简介第一台通用计算机,疯狂动物城 简介
  17. 【Spring Boot】--整合RabbitMQ
  18. Java中线程的状态。
  19. Mac下嵌入式开发问题初步
  20. 【FreeRTOS】软件定时器的使用

热门文章

  1. linux目录结构与功能_深入理解linux系统的目录结构(总结的非常详细)
  2. 我的docker随笔17:使用docker-compose启动MySQL、Redis和Mongo
  3. YUV格式学习:NV16和YUV422P格式互换
  4. python中合法的二进制整数_python:求整数的二进制表示
  5. 【flink】Flink 1.12.2 源码浅析 : StreamTask 浅析
  6. 【clickhouse】Clickhouse 版本号历史
  7. 【kafka】kafka rebalance generation
  8. 【Flink】Flink Serving 天池快速上手 【视频笔记】
  9. 50-20-200-配置-checkpoint配置
  10. Mac下安装Flink的local模式(flink-1.5.2)