【网络】运输层

一、运输层协议概述

网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。

运输层的两个主要协议:

1)用户数据报协议UDP:无连接,不可靠

2)传输控制协议TCP:提供可靠的、面向连接的服务,不提供广播或多播协议

运输层的端口:

端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在因特网不同计算机中,相同的端口号是没有关联的。

1)服务器端使用的端口号

常用端口号:FTP :21  DNS:53  TFTP : 69   HTTP:80

2)客户端使用的端口号

二、用户数据报协议UDP

主要特点:

1)无连接;2)尽最大努力交付;3)UDP是面向报文的,UDP一次交付一个完整的报文;4)UDP没有拥塞控制,适用于实时应用(IP电话,实时视频会议);5)UDP支持一对一、一对多、多对一、和多对多的交互通信;6)UDP的首部开销小,只有8个字节

UDP的首部格式:

首部字段只有8个字节,由四个字段组成,每个字段的长度是2个字节。分别是:

1)源端口 2)目的端口 3)长度:UDP用户数据报的长度,最小值为8(仅有首部) 4)检验和:检测UDP用户数据报在传输中是否出错,有错就丢弃

如果接收方UDP发现收到的报文中的目的端口号不正确,就丢弃该报文,并由ICMP发送端口不可达差错报文给发送方。

【网络】运输层

时间: 2024-10-28 22:11:13

【网络】运输层的相关文章

网络运输层简介以及它与网络层关系

3.1 Introduction and Transport-Layer Service 传输层协议在运行于不同计算机上的应用进程之间提供logical communication,逻辑通信的意义是指,从应用的角度,好像运行于各种计算机上的进程是直接连接的,事实上,在计算机的角度却大相径庭,它们得通过很多路由和各种线路连接,应用进程利用传输层所提供的logical communication服务来发送messages,而不用担心这些message在物理层基础设施的传输细节 上图我们看到,传输层协

《TCP/IP详解卷2:实现》笔记--插口层

插口层的主要功能是将进程发送的与协议有关的请求映射到产生插口时指定的与协议有关的实现.下图说明了进程中的插口 接口与内核中的协议实现之间的层次关系. 1.socket结构 插口代表一条通信链路的一端,存储或指向与链路有关的所有信息.这些信息包括:使用的协议.协议的状态信息(包括 源和目的地址).到达的链接队列.数据缓存和可选标志.下图给出了插口和与插口相关的缓存的定义. so_type由产生插口的进程指定,指明插口和相关协议支持的通信语义.对于UDP,为SOCK_DGRAM,对于TCP,为 SO

网络协议笔记-运输层

[运输层为互相通信的应用进程提供逻辑通信] 运输层有两个重要的功能,复用,分用:两个主机上多个应用进程之间互相通信. 网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信 [端口和套接字的意义] 在协议栈层间的抽象的协议端口是软件端口,俗称端口 软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址 TCP/IP的运输层用一个16位端口号来标识一个端口.端口只具有本地意义,互联网中不同的计算机中,相同的端口号没有关联的. 16位的端口号允许有65535个不同的端口 熟

Linux C高级编程——网络编程基础(1)

Linux高级编程--BSD socket的网络编程 宗旨:技术的学习是有限的,分享的精神是无限的. 一网络通信基础 TCP/IP协议簇基础:之所以称TCP/IP是一个协议簇,是由于TCP/IP包括TCP .IP.UDP.ICMP等多种协议.下图是OSI模型与TCP/IP模型的对照.TCP/IP将网络划分为4层模型:应用层.传输层.网络层和网络接口层(有些书籍将其分为5层,即网络接口层由链路层和物理层组成) (1)网络接口层:模型的基层.负责数据帧的发送已接收(帧是独立的网络信息传输单元).网络

很全的linux网络编程技巧

注:作者王晓,本人认为总结得很好,故记之,绝无侵权之意. 1. LINUX网络编程基础知识 1 1.1. TCP/IP协议概述 1 1.2. OSI参考模型及TCP/IP参考模型 1 1.3. TCP协议 3 1.4. UDP协议 5 1.5. 协议的选择 6 2. 网络相关概念 6 2.1. socket概念 7 2.2. socket类型 8 2.3. socket信息数据结构 8 2.4. 数据存储优先顺序的转换 8 2.5. 地址格式转化 9 2.6. 名字地址转化 10 3. sock

网络基础知识、ASP.NET 核心知识(1)--转载

为什么要写网络? 作为网站开发人员,你所开发的软件产品最终是要在网络上运行的.这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气.地理.人文毫无了解.生产商的产品肯定是不可用的,或者低端的!产品质量不好,那是自然的.产品质量好,那算你点儿高.那么作为ASP.NET开发人员,如果一点不懂http协议.不晓得Ajax.甚至根本不了解JavaScript,效果也是一样的.总之,丰富的知识储备,会为你的软件产品带来更多的品质保障.我们要了解的主要是HTTP协议 关于体系结构 1.OSI.T

java网络编程学习笔记(一)

1.进程之间的通信 进程是指运行中的程序,进程的任务就是执行程序中的代码. 存在计算机网络上的两个进程只需要关注它们通信的具体内容,而不需关注消息在网络上传输的具体细节. 2.计算机网络的概念 Internet提供的服务包括www服务,电子邮件服务,文件传输服务(FTP),远程登录服务(Telnet). 全球用户可以通过或这些服务来获取Internet上的信息,或者开展各种业务. 3.udp和tcp 两个进程可以占用同样的端口号,但是必须是不同的运输层协议,比如一个进程使用的是TCP协议,占用7

TCP/IP协议原理与应用笔记01:ISO/OSI网络参考模型

1.OSI参考模型 第7层应用层:直接对应用程序提供服务,应用程序可以变化,但要包括电子消息传输   第6层表示层:格式化数据,以便为应用程序提供通用接口.这可以包括加密服务   第5层会话层:在两个节点之间建立端连接.此服务包括建立连接是以全双工还是以半双工的方式进行设置,尽管可以在层4中处理双工方式   第4层传输层:常规数据递送-面向连接或无连接.包括全双工或半双工.   流控制和错误恢复服务    第3层网络层:本层通过寻址来建立两个节点之间的连接,它包括通过互连网络来路由和中继数据  

socket 网络编程快速入门(一)教你编写基于UDP/TCP的服务(客户端)通信

因为UNIX和Win的socket大同小异,为了方便和大众化,这里先介绍Winsock编程. socket 网络编程的难点在入门的时候就是对基本函数的了解和使用,因为这些函数的结构往往比较复杂,参数大部分都是结构体,令人难以记忆和理解. 但是一旦我们知道这些函数包括其参数的具体含义,socket网络编程也就变得不是那么复杂.这里不赘述 具体函数的详细含义,网络上有很多的文章,同时笔者建议大家参考 MSDN,对返回值,参数等会有更好的理解. 以下均为单线程的简单实例,多线程的请关注下一篇文章. (