diff --git a/dns/dnsmessage/message.go b/dns/dnsmessage/message.go
index 13fbc08..82bcdcc 100644
--- a/dns/dnsmessage/message.go
+++ b/dns/dnsmessage/message.go
@@ -1660,7 +1660,7 @@
 	return nil
 }
 
-// EDNS(0) wire costants.
+// EDNS(0) wire constants.
 const (
 	edns0Version = 0
 
diff --git a/http2/hpack/encode.go b/http2/hpack/encode.go
index 1565cf2..97f1783 100644
--- a/http2/hpack/encode.go
+++ b/http2/hpack/encode.go
@@ -150,7 +150,7 @@
 // extended buffer.
 //
 // If f.Sensitive is true, "Never Indexed" representation is used. If
-// f.Sensitive is false and indexing is true, "Inremental Indexing"
+// f.Sensitive is false and indexing is true, "Incremental Indexing"
 // representation is used.
 func appendNewName(dst []byte, f HeaderField, indexing bool) []byte {
 	dst = append(dst, encodeTypeByte(indexing, f.Sensitive))
diff --git a/http2/server.go b/http2/server.go
index 34d4293..b7524ba 100644
--- a/http2/server.go
+++ b/http2/server.go
@@ -2524,7 +2524,7 @@
 // trailers. That worked for a while, until we found the first major
 // user of Trailers in the wild: gRPC (using them only over http2),
 // and gRPC libraries permit setting trailers mid-stream without
-// predeclarnig them. So: change of plans. We still permit the old
+// predeclaring them. So: change of plans. We still permit the old
 // way, but we also permit this hack: if a Header() key begins with
 // "Trailer:", the suffix of that key is a Trailer. Because ':' is an
 // invalid token byte anyway, there is no ambiguity. (And it's already
@@ -2824,7 +2824,7 @@
 	// PUSH_PROMISE frames MUST only be sent on a peer-initiated stream that
 	// is in either the "open" or "half-closed (remote)" state.
 	if msg.parent.state != stateOpen && msg.parent.state != stateHalfClosedRemote {
-		// responseWriter.Push checks that the stream is peer-initiaed.
+		// responseWriter.Push checks that the stream is peer-initiated.
 		msg.done <- errStreamClosed
 		return
 	}
diff --git a/http2/writesched_priority.go b/http2/writesched_priority.go
index 848fed6..2618b2c 100644
--- a/http2/writesched_priority.go
+++ b/http2/writesched_priority.go
@@ -149,7 +149,7 @@
 }
 
 // walkReadyInOrder iterates over the tree in priority order, calling f for each node
-// with a non-empty write queue. When f returns true, this funcion returns true and the
+// with a non-empty write queue. When f returns true, this function returns true and the
 // walk halts. tmp is used as scratch space for sorting.
 //
 // f(n, openParent) takes two arguments: the node to visit, n, and a bool that is true
diff --git a/internal/socks/socks.go b/internal/socks/socks.go
index 6929a9f..97db234 100644
--- a/internal/socks/socks.go
+++ b/internal/socks/socks.go
@@ -127,7 +127,7 @@
 	// establishing the transport connection.
 	ProxyDial func(context.Context, string, string) (net.Conn, error)
 
-	// AuthMethods specifies the list of request authention
+	// AuthMethods specifies the list of request authentication
 	// methods.
 	// If empty, SOCKS client requests only AuthMethodNotRequired.
 	AuthMethods []AuthMethod
diff --git a/route/address.go b/route/address.go
index e6bfa39..b715281 100644
--- a/route/address.go
+++ b/route/address.go
@@ -222,7 +222,7 @@
 	//   the routing message boundary
 	l := int(b[0])
 	if runtime.GOOS == "darwin" {
-		// On Darwn, an address in the kernel form is also
+		// On Darwin, an address in the kernel form is also
 		// used as a message filler.
 		if l == 0 || len(b) > roundup(l) {
 			l = roundup(l)
diff --git a/route/route.go b/route/route.go
index 8cb64f7..bba7ed7 100644
--- a/route/route.go
+++ b/route/route.go
@@ -73,7 +73,7 @@
 	Version int     // message version
 	Type    int     // message type
 	Flags   int     // route flags
-	Index   int     // interface index when atatched
+	Index   int     // interface index when attached
 	ID      uintptr // sender's identifier; usually process ID
 	Seq     int     // sequence number
 	Err     error   // error on requested operation
